java - 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);
}
}
解决方案
您需要使用equals()
方法来比较字符串。在这种情况下,最好使用equalsIgnoreCase()
. 更新if
andelse if
如下:
if (bday.equalsIgnoreCase("y")){
age = 2021-year;
}else if(bday.equalsIgnoreCase("n")){
age = 2020-year;
}
推荐阅读
- spring-boot - Spring Boot - 多数据源配置
- sql-server - 从 ASPStateTempSessions 数据库表中反序列化 Session 变量
- javascript - Vue - 来自外部 TypeScript 类的动态属性不是响应式的
- apache-kafka - KafkaStreams处理保证exact_once和exact_once_beta的区别
- javascript - 不工作在 React 中单击向左或向右滚动产品
- python - 如何在列表中找到数字最大的项目,然后将数字添加到相应的列表中?
- c++ - 写入指针位置时避免堆栈损坏
- openshift - “OKD 3.11 与主服务器的连接被拒绝 - 您是否指定了正确的主机或端口?”
- python - Seaborn countplot:在单独的df上为每个变量名使用相同的颜色
- excel - VBA Excel在循环时自动增加字符串值