gpt4 book ai didi

Java If Else 缩写语句

转载 作者:行者123 更新时间:2023-12-01 07:24:23 25 4
gpt4 key购买 nike

我一直在研究这段代码,它非常基础,但我刚刚开始使用 Java,我不知道它发生了什么。

import java.util.Scanner;


public class Proj {


public static void main(String[] args) {

//Create Scanner
Scanner scanner = new Scanner(System.in);

//Input Abbreviation
System.err.print("Input METAR Abbreviation: ");
scanner.nextLine( );

//Abbreviations
String abb = "";
if (abb.equals("B")) {
System.out.println ("Began At Time ");
}
else if(abb.equals("+")) {
System.out.println ("Heavy intensity");
}
else if(abb.equals("-")) {
System.out.println ("Light intensity");
}
else if(abb.equals("DZ")) {
System.out.println ("Drizzle");
}
else if(abb.equals("E")) {
System.out.println ("Ended At Time");
}
else if(abb.equals("HZ")) {
System.out.println ("Haze");
}
else if(abb.equals("RA")) {
System.out.println ("Rain");
}
else if(abb.equals("SN")) {
System.out.println ("Snow");
}
else(abb !=NULL) {
System.out.println("Unknown Abbreviation");
}
//Close scanner
scanner.close( );
}
}

所以我想做的是,当有人输入缩写之一时,它会打印出它的含义,如果缩写不存在,它会打印出未知缩写。所以我的问题是,当我运行代码时,它会打印输入 METAR 缩写,您可以输入一个字符串,但之后什么也没有发生,有人可以帮助我吗?谢谢

最佳答案

您调用scanner.nextLine()但从未真正捕获或使用其结果。然后,您分配 String abb= "" 。这意味着abb永远是"" 。这与您的 if 中的任何一个都不匹配条件。

如果你这样做String abb = scanner.nextLine( ); ,您将得到您想要的:扫描仪将读取下一行,并将该值分配给 abb .

顺便说一句,我怀疑这段代码能否编译; NULL不是 Java 中的关键字(Java 区分大小写),并且 else需要 if在它之后。但您也不需要检查 null ,因为scanner.nextLine()永远不会返回它(如果没有下一行,它只会抛出 NoSuchElementException )。所以最后一位应该只是一个简单的 else { .

关于Java If Else 缩写语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27869236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com