首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

初学者报道+练习(基础,流程控制语句相关)

2014-01-21 
菜鸟报道+练习求助(基础,流程控制语句相关)各位大神们好!鄙人第一次来到这里,有冒犯,还请海涵不废话了,最

菜鸟报道+练习求助(基础,流程控制语句相关)
各位大神们好!
鄙人第一次来到这里,有冒犯,还请海涵
不废话了,最近开始学习JAVA,学到流程控制语句,就被个个习题难住了……
这是题目
初学者报道+练习(基础,流程控制语句相关)
这是我的代码:

import java.util.Scanner;

public class Work6{
public static void main(String [] args){
Scanner sc =new Scanner(System.in);
System.out.println("MyShopping管理系统 > 购物结算\n");
System.out.println("*************************************************");
System.out.println("请选择购买的商品编号:");
System.out.println("1.T恤2.网球鞋3.网球拍");
System.out.println("*************************************************");
String choose= "y";
while(choose =="y"){
System.out.print("请输入商品编号:");
int number =sc.nextInt();
switch(number){
case 1:
System.out.println("T恤¥245.0");
break;
case 2:
System.out.println("网球鞋¥570.0");
break;
case 3:
System.out.println("网球拍¥233.0");
break;
default:
System.out.println("商品编号不合法!");
break;
}
System.out.print("\n是否继续(y/n)");
choose = sc.next();
}
System.out.print("程序结束!");
}
}


效果应该是如图的,但每次运行时都是这样
初学者报道+练习(基础,流程控制语句相关)
请问是哪里出错了?
[解决办法]
你的while循环写错啦,在判断的时候应该改为:“y”.equals(choose)。
[解决办法]
字符串比较用equals
[解决办法]
while(choose =="y")改成while("y".equals(choose)),原因应该是sc.next();会返回一个新创建的字符串对象,而不是获取字符串缓冲池里的"y"。
楼上的更好一些
[解决办法]
== 比较的是内存地址·不是值··

热点排行