您好,匿名用户
随意问技术百科期待您的加入

刚开始学java,第一个程序写了个有while嵌套的运行不了。.

0 投票

代码不长,麻烦哪位好心人看下指正下错误哈。 我就想实现键盘输入pro1的时候打印pro1 输入pro2的时候打印pro2 输入exit的时候退出程序 并且可以循环输入直直退出 实际运行效果是不管输入什么打印的都是"Reinput",知道这里大牛多,别笑话我啊~~

import java.io.*;

public class TestWhile{
	public static void main(String[] args){
		try{
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
			String s = br.readLine();
			while(s != "exit"){
				while(s == "pro1"){
					System.out.println("pro1");
					s = br.readLine();
					}
				while(s == "pro2"){
					System.out.println("pro2");
					s = br.readLine();
					}
				while((s != "pro1")&&(s != "pro2")&&(s != "exit")){
					System.out.println("Reinput");
					s = br.readLine();
					}
				}
			}
		catch(IOException e){
			e.printStackTrace();
			}
		System.out.println("The end");
		}
	}
用户头像 提问 2012年 12月1日 @ Karthus 上等兵 (227 威望)
分享到:

1个回答

0 投票

呵呵,欢迎进入java世界,第一个程序没调通不要气馁

你的程序只有一个关键问题,那就是在java里,不能用==号来判断两个字符串是否相等(这与你在其他脚本语言中的经验可能不符),因为java是一门强类型语言,字符串是一个class,两个字符串如果用==来比对,实际上是比对两个object是否相等,得出来的结论当然永远是不等。

所以,解决方法很简单判断字符串a与b是否相等,请使用a.equals(b)这是一个经常犯的错误,有时候我写惯脚本语言再来写java就会犯这个错误,调了半天也看不出在哪里出错。

用户头像 回复 2012年 12月1日 @ Ryze 上等兵 (293 威望)
提一个问题:

相关问题

0 投票
1 回复 35 阅读
用户头像 提问 2012年 12月1日 @ Sivir 上等兵 (275 威望)
0 投票
1 回复 22 阅读
0 投票
1 回复 39 阅读
0 投票
1 回复 27 阅读
用户头像 提问 2012年 12月1日 @ Apple 上等兵 (542 威望)
+2 投票
1 回复 195 阅读
用户头像 提问 2013年 2月4日 @ Maokai 上等兵 (292 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...