由于某种原因,在我输入“停止”后,代码不会退出。为什么?逐步调试表明,在我输入“stop”后,它的值完全由“s”、“t”、“o”、“p”组成,没有任何换行符,等等。然而,代码仍然无法退出。谁能告诉我为什么吗?
import java.util.Scanner;
public class Application {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// asking username
System.out.print("Username: ");
String username = input.nextLine();
String inpText;
do {
System.out.print(username + "$: ");
inpText = input.nextLine();
System.out.print("\n");
// analyzing
switch (inpText) {
case "start":
System.out.println("> Machine started!");
break;
case "stop":
System.out.println("> Stopped!");
break;
default:
System.out.println("> Command not recognized");
}
} while (inpText != "stop");
System.out.println("Bye!..");
}
}
更改当(inpText!="停止");到当(!(inpText.equals("停止")));
您将指针而非字符串与以下代码进行比较:
while (inpText != "stop");
应该是这样的:
while (!"stop".equals(inpText));
。等于()
而不是=
,除非你真的知道自己在做什么
inpText != "stop" //Not recommended
!"stop".equals(inpText) //recommended
无法为低于1.7的源级别打开字符串类型的值。只允许使用可转换的int值或枚举变量
所以程序应该是:-获取用户的输入,直到用户键入“n或N”以显示停止的标志-当用户键入“n或N”时,程序正数和负数和。 还有我得到的 这个错误信息,我不知道是什么问题。提前谢谢你!
do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环。 语法结构如下 do { statement } while (expression) do { 需要执行的代码 } while (条件); demo var aNumbers = new Array(); var sMessage = "你输入了
问题内容: 我有一个作业来实现一个简单的测试应用程序,下面是我当前的代码: 我现在想做的是,当按下时,这意味着用户想要退出测试,然后我中断了并打印,但是那样行不通,我知道原因可能是中断了,我怎样才能让它打破呢? 问题答案: 你可以while循环,并在,这应该是这样的: 而且可以是你想要的任何字,例如。
do-while 循环语句是 C 语言中最常用的三种循、环语句之一。但也是最容易与前面的 while 循环混淆的循环语句。 1. do-While 循环的语法 do { // 循环执行的语句 }while( 循环条件 ) 2. do-While 循环的执行过程 3. do-while 循环的使用场景 当需要先执行一次循环体内部的语句,然后再进行是否再次执行循环语句的时候使用。这有点像你吃
do loop用于执行一定次数的语句。 需要执行语句的次数由传递给do循环的值确定。 语法 (Syntax) do循环语句的语法如下 - do count statement #1 statement #2 ... End Statement#1 and Statement#2是一系列在do循环中执行的语句。 count变量表示do循环需要执行的次数。 流程图 (Fl
当布尔条件为True或者条件变为True时,它会重复封闭的语句块。 它可以随时使用Exit Do语句终止。 此循环结构的语法是 - Do { While | Until } condition [ statements ] [ Continue Do ] [ statements ] [ Exit Do ] [ statements ] Loop -or- Do