首页 > 解决方案 > Bday finder 使用输入 java

问题描述

为什么这不起作用

package com.company;
import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
  // write your code here
    Scanner scan = new Scanner(System.in);
    System.out.println("enter year: ");
    int year = scan.nextInt();
    int age = 0;
    System.out.println("is your bday complete this year: ans 'Y/N'");
    String bday= scan.nextLine();
    scan.close();
    if (bday=="Y"||bday=="y"){
        age = 2021-year;
    }else if(bday=="N"||bday=="n"){
        age = 2020-year;
    }else{
        System.out.println("wrong input");
    }
    System.out.println(age);
  }
}

标签: java

解决方案


您需要使用equals()方法来比较字符串。在这种情况下,最好使用equalsIgnoreCase(). 更新ifandelse if如下:

if (bday.equalsIgnoreCase("y")){
    age = 2021-year;
}else if(bday.equalsIgnoreCase("n")){
    age = 2020-year;
}

推荐阅读