简单的乒乓球程序和字符串问题



我正试图让下面的程序扫描一个String类型的值,如果它等于"Ping",程序将输出"Pong!"。

不幸的是,我不知道如何让扫描仪读取String类型并将其与"Ping"条件进行比较。

package experiments;
import java.util.Scanner;
public class PingPong {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String a = Scanner.nextLine(a); 
switch(a) {         
case "Ping":
System.out.print("Pong! :D");
break;              
}
}       
}
Scanner scanner = new Scanner(System.in);
String aString = scanner.nextLine();
switch (aString) {
case "Ping":
System.out.println("Pong");
break;
default:
System.out.println(aString);
}
scanner.close();

您正在为下一行使用Scanner类,并且正在传递要分配的字符串。这不会编译。。。

相信我,我这么说是为了你的利益,但在这里提问之前,你可能想先看看一些基本的java语法,因为其他人可能会把你撕成碎片。

更改行:

String a = Scanner.nextLine(a);

收件人:

String a = scan.nextLine(); 

即(1(:

Scanner scan = new Scanner(System.in);
String a = scan.nextLine(); 
switch(a) {         
case "Ping":
System.out.print("Pong! :D");
break;              
}
} 

另一种方法(2(是:

Scanner scan = new Scanner(System.in);       
String a=scan.nextLine();
if(a.equals("Ping"))
System.out.println("Pong! :D");

另一种方法(3(三元算子:

System.out.println(a.equals("Ping")?"Pong! :D":"Print here something else");

您可以通过这种方式使用Scanner,返回字符串

Scanner scanner = new Scanner(System.in);
String aString = scanner.next();
switch (aString) {
case "Ping":
System.out.println("Pong");
break;
default:
System.out.println(aString);
}
scanner.close();

最新更新