用java编写循环kkj,当输入“结束”,停止程序

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:36:08
import java.util.Scanner;
public class kk
{
public static void main(String args[])
{
Scanner scanner = new Scanner(System.in);
String inputEnd = scanner.nextLine();
String end="结束";
while(true)
{
System.out.println("kkj");
if (end==inputEnd)
break;
}
}
}
//功能:循环kkj,当输入“结束”,停止程序
问题:我写的结果是输入"结束",才开始循环kkj,请问哪里错了?
用"回车"结束呢?

while (true) {
System.out.println("kkj");
if (end.equals(inputEnd))
break;
inputEnd = scanner.nextLine();
}
用这个就可以了,scanner.nextLine()必须放在循环里,java里面字符串相等要用equals()函数

String inputEnd = scanner.nextLine();
程序读到这句,就会停下来等待你的输入,并不会继续执行
等你输入"结束"以后,程序继续向下运行
运行到循环的位置,进入循环
你的循环只有一个出口就是当end==inputEnd的时候跳出循环
但是end和inputEnd是两个String类型的对象,用==比较比较的是两个对象的内存地址,而这两个对象在内存中的位置是不一样,所以永远比较的结果都是false,你的循环也就一直不能退出.

if (end==inputEnd)换成if(inputEnd.equals(end))试试