java,用户输入Y/N,选择程序继续还是结束,如何实现

importjava.util.Scanner;publicclassPrintArguments{publicstaticvoidmain(String[]args){... import java.util.Scanner;
public class PrintArguments {
public static void main(String[] args) {
String user="";
Scanner in=new Scanner(System.in);
do{
System.out.println("adsj");
System.out.println("是否继续(Y/N)");
user=in.next();
}
while(user=="Y");
}
}
为什么这个不行,求指教
展开
 我来答
风泪浅无痕
2013-09-13 · TA获得超过125个赞
知道答主
回答量:100
采纳率:100%
帮助的人:77.3万
展开全部
因为==比较的是两个字符串的地址值是否相等,在java,String类是用final修饰的不可变类.用new创建的对象放在对内存中,用“”引起来的默认为是常量,放在常量池中;即使它们的值相等,但地址值不相等,用==比较返回值为false。只能用equals()方法来比较其值是否相等。
庄琇靖dE
2021-01-11
知道答主
回答量:2
采纳率:0%
帮助的人:1009
展开全部
public class Test2 {

public static void main(String[] args) {

String a =" ";
do {
Scanner scan = new Scanner(System.in);
System.out.println("请输入第一个数:");
int num1 = scan.nextInt();
System.out.println("请输入第二个数:");
int num2 = scan.nextInt();
System.out.println("请输入运算符:");
String c = scan.next();
switch(c) {
case "+":
System.out.println("运算结果是:"+(num1+num2));
break;
case "-":
System.out.println("运算结果是:"+(num1-num2));
break;
case "*":
System.out.println("运算结果是:"+(num1*num2));
break;
case "/":
if(num2==0) {
System.out.println("除数不能为零,请重新输入");
}else {
System.out.println("运算结果是:"+(num1/num2));
}
break;
}
System.out.println("是否继续? Y 是,其他键结束");
a = scan.next();
}while(a.equals("Y"));

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cola6012
2013-09-13 · 超过17用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:34.2万
展开全部
==只能用于判断是不是同一个字符串
判断字符串相等需要user.equals()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一直旅程
推荐于2018-03-02
知道答主
回答量:38
采纳率:0%
帮助的人:12.6万
展开全部
while(user.equals("y"));这样就可以了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiao邪恶3
2015-10-29 · TA获得超过153个赞
知道小有建树答主
回答量:314
采纳率:100%
帮助的人:66.8万
展开全部
获取用户输入的类容,然后写个判断是Y还是N,然后给出对应的操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式