java求改这段whilejava switch case语句

问题已关闭
代为完成的个人任务
提问需要满足:其他人可能遇到相似问题,或问题的解决方法对其他人有所助益。如果通过其他方式解决遇到困难,欢迎提问并说明你的求知过程。
&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kn&&import&/span& &span class=&nn&&java.util.Scanner&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&class&/span& &span class=&nc&&Math&/span& &span class=&o&&{&/span&
&span class=&kd&&private&/span& &span class=&kd&&static&/span& &span class=&n&&Scanner&/span& &span class=&n&&sc&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kt&&void&/span& &span class=&nf&&main&/span&&span class=&o&&(&/span&&span class=&n&&String&/span&&span class=&o&&[]&/span& &span class=&n&&args&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&sc&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&Scanner&/span&&span class=&o&&(&/span&&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&in&/span&&span class=&o&&);&/span&
&span class=&kt&&char&/span& &span class=&n&&a&/span&&span class=&o&&;&/span&
&span class=&n&&String&/span& &span class=&n&&d&/span& &span class=&o&&=&/span& &span class=&s&&&Y&&/span&&span class=&o&&;&/span&
&span class=&kt&&int&/span& &span class=&n&&b&/span&&span class=&o&&,&/span& &span class=&n&&c&/span&&span class=&o&&;&/span&
&span class=&k&&while&/span& &span class=&o&&(&/span&&span class=&s&&&Y&&/span&&span class=&o&&.&/span&&span class=&na&&equals&/span&&span class=&o&&(&/span&&span class=&n&&d&/span&&span class=&o&&))&/span& &span class=&o&&{&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&s&&&+ 加法运算
-减法运算&&/span&&span class=&o&&);&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&s&&&* 乘法运算
/除法运算&&/span&&span class=&o&&);&/span&
&span class=&n&&a&/span& &span class=&o&&=&/span& &span class=&n&&sc&/span&&span class=&o&&.&/span&&span class=&na&&nextLine&/span&&span class=&o&&().&/span&&span class=&na&&charAt&/span&&span class=&o&&(&/span&&span class=&mi&&0&/span&&span class=&o&&);&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&s&&&请输入一个整数:&&/span&&span class=&o&&);&/span&
&span class=&n&&b&/span& &span class=&o&&=&/span& &span class=&n&&sc&/span&&span class=&o&&.&/span&&span class=&na&&nextInt&/span&&span class=&o&&();&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&s&&&请输入另一个整数:&&/span&&span class=&o&&);&/span&
&span class=&n&&c&/span& &span class=&o&&=&/span& &span class=&n&&sc&/span&&span class=&o&&.&/span&&span class=&na&&nextInt&/span&&span class=&o&&();&/span&
&span class=&k&&switch&/span& &span class=&o&&(&/span&&span class=&n&&a&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&case&/span& &span class=&sc&&'+'&/span&&span class=&o&&:&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&n&&b&/span& &span class=&o&&+&/span& &span class=&s&&&+&&/span& &span class=&o&&+&/span& &span class=&n&&c&/span& &span class=&o&&+&/span& &span class=&s&&&=&&/span& &span class=&o&&+&/span& &span class=&o&&(&/span&&span class=&n&&b&/span& &span class=&o&&+&/span& &span class=&n&&c&/span&&span class=&o&&));&/span&
&span class=&k&&break&/span&&span class=&o&&;&/span&
&span class=&k&&case&/span& &span class=&sc&&'-'&/span&&span class=&o&&:&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&n&&b&/span& &span class=&o&&+&/span& &span class=&s&&&-&&/span& &span class=&o&&+&/span& &span class=&n&&c&/span& &span class=&o&&+&/span& &span class=&s&&&=&&/span& &span class=&o&&+&/span& &span class=&o&&(&/span&&span class=&n&&b&/span& &span class=&o&&-&/span& &span class=&n&&c&/span&&span class=&o&&));&/span&
&span class=&k&&break&/span&&span class=&o&&;&/span&
&span class=&k&&case&/span& &span class=&sc&&'*'&/span&&span class=&o&&:&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&n&&b&/span& &span class=&o&&+&/span& &span class=&s&&&*&&/span& &span class=&o&&+&/span& &span class=&n&&c&/span& &span class=&o&&+&/span& &span class=&s&&&=&&/span& &span class=&o&&+&/span& &span class=&o&&(&/span&&span class=&n&&b&/span& &span class=&o&&*&/span& &span class=&n&&c&/span&&span class=&o&&));&/span&
&span class=&k&&break&/span&&span class=&o&&;&/span&
&span class=&k&&case&/span& &span class=&sc&&'/'&/span&&span class=&o&&:&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&c&/span& &span class=&o&&!=&/span& &span class=&mi&&0&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&n&&b&/span& &span class=&o&&+&/span& &span class=&s&&&/&&/span& &span class=&o&&+&/span& &span class=&n&&c&/span& &span class=&o&&+&/span& &span class=&s&&&=&&/span& &span class=&o&&+&/span& &span class=&o&&(&/span&&span class=&n&&b&/span& &span class=&o&&/&/span& &span class=&n&&c&/span&&span class=&o&&));&/span&
&span class=&o&&}&/span& &span class=&k&&else&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&s&&&error!&&/span&&span class=&o&&);&/span&
&span class=&k&&break&/span&&span class=&o&&;&/span&
&span class=&k&&default&/span&&span class=&o&&:&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&s&&&error!&&/span&&span class=&o&&);&/span&
&span class=&k&&break&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&s&&&再运算吗?Y进行,否则结束&&/span&&span class=&o&&);&/span&
&span class=&n&&d&/span& &span class=&o&&=&/span& &span class=&n&&sc&/span&&span class=&o&&.&/span&&span class=&na&&next&/span&&span class=&o&&();&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&d&/span& &span class=&o&&==&/span& &span class=&kc&&null&/span& &span class=&o&&||&/span& &span class=&o&&!&/span&&span class=&n&&d&/span&&span class=&o&&.&/span&&span class=&na&&equals&/span&&span class=&o&&(&/span&&span class=&s&&&Y&&/span&&span class=&o&&))&/span&
&span class=&k&&break&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&s&&&运算结束。&&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&br&上面这段代码在控制台运行到输入Y继续时就出现下面这段代码后跳出了。&br&&div class=&highlight&&&pre&&code class=&language-text&&Exception in thread &main& java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(Unknown Source)
at Math.main(Math.java:15)
请问应该怎么修改?
&/code&&/pre&&/div&
import java.util.S
public class Math {
private static S
public static void main(String[] args) {
sc = new Scanner(System.in);
String d = "Y";
while ("Y".equals(d)) {
System.out.println("+ 加法运算
-减法运算");
System.out.println("* 乘法运算
/除法运算");
a = sc.nextLine().charAt(0);
System.out.println("请输入一个整数:");
b = sc.nextInt();
System.out.println("请输入另一个整数:");
c = sc.nextInt();
switch (a) {
System.out.println(b + "+" + c + "=" + (b + c));
System.out.println(b + "-" + c + "=" + (b - c));
System.out.println(b + "*" + c + "=" + (b * c));
if (c != 0) {
System.out.println(b + "/" + c + "=" + (b / c));
System.out.println("error!");
System.out.println("error!");
System.out.println("再运算吗?Y进行,否则结束");
d = sc.next();
if (d == null || !d.equals("Y"))
System.out.println("运算结束。");
你到底会还是不会代码格式化啊……
Scanner的next(),nextInt()方法都是不读到换行符的,所以你在d = sc.next()这一行只读了"Y"这一个字符,于是循环再次开始的时候sc.nextLine()就只读到一个长度为0的字符串了。
楼上喷代码格式的,右下角惊现 “显示全部”
知乎“温赵轮”三大软狗之一。java 中的switch语句中的break语句我有点搞不懂,拜托翻译下这段话。_百度知道
Each break statement terminates the enclosing switch statement.每一个break语句会结束一个switch块Control flow continues with the first statement following the switch block.以控制紧跟其后的switch块是否执行The break statements are necessary because without them, break语句非常重要因为如果没有他们,statements in switch blocks fall through: switch块的分支们会不顾一切的执行:All statements after the matching case label are executed in sequence, 它将会依次执行所有case标签下的代码,regardless of the expression of subsequent case labels, 不管随后的case语句表达的是什么,until a break statement is encountered.直到遇到break它不会停止。自己翻译的 将就看吧兄弟
其他类似问题
为您推荐:
其他2条回答
无法翻译,break就是结束当前switch语句,比如:int x=1;switch(x){ case 1: System.out.println(&1&); case 2: System.out.println(&2&); default:System.out.println(&default&);}//输出:1,2,defaultswitch(x){ case 1: System.out.println(&1&); case 2: System.out.println(&2&); default:System.out.println(&default&);}//输出:1不加break只要找到case或者default,呢其剩下的case和default都将被执行,一般编写程序都加上break的。因为不想让他执行其他的选项
干嘛要看英文的,很头痛的
因为英文是官方的,最重要的是最新的。谁让java不是中国人开发的呢
break语句的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁java入门学习(十二)运算语句 if switch_Java123社区微信号:java123msg |||[][]当前位置: &
& java入门学习(十二)运算语句 if switch这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客: java中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,break,continue,接下这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客:中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,break,continue,接下来我会一一介绍这些运算语句的用法。第一:if语句(也就是条件语句)在我们日常生活中,如果去做一件事,有好多的条件并不是一个条件,比如我去北京,我可以坐火车,乘飞机,坐汽车这三个条件,在java的if语句中,为了避免多写if语句就产生了一个多分枝语句 if&else & else &if。首先咱们看看if语句的格式if(条件){功能代码}else{工能代码}比如上面的去北京的条件,假如火车,飞机,汽车三个条件那么分别声明三个条件的变量如下代码public class Test7 {/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub boolean huoche= boolean feiji= boolean qiche= if(huoche){ System.out.println(&我成火车去北京&); }else{System.out.println(&我没有成火车去北京&);} if(feiji){ System.out.println(&我成飞机去北京&); }else{System.out.println(&我没有成飞机去北京&);} if(qiche){ System.out.println(&我成汽车去北京&); }else{System.out.println(&我没有成汽车去北京&);}}}if语句中括号里面的变量值必须是boolean型的true或false,比如声明一个变量a=1,if(a){} 这样写是错误的,而如果是if(a==1){}就是对的因为a=1返回值是booelan值true其实上面代码可以用java的多分支语句来写而不是每次多条件 就要大量写if &if &if看下面代码:public class Test7 {/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub boolean huoche= boolean feiji= boolean qiche= if(huoche){ System.out.println(&我成火车去北京&); }else if(feiji){ System.out.println(&我成飞机去北京&); }else if(qiche){ System.out.println(&我成汽车去北京&); }}}上面所述的两个例子代码效果是一样的是不是第二个例子看起来更简洁些。i上面的第一个例子代码可以吧else{}去掉,如果else{}里面不是语句块 没有功能代码或者业务逻辑处理那么就可以去掉它。再来看一个示例代码,该代码的功能是实现将百分制的成绩转换为A、B、C、D和E,代码如下: int score = 87; if(score &= 90){ System.out.println(&A&); } else if(score &= 80){ System.out.println(&B&); } else if(score &= 70){ System.out.println(&C&); } else if(score &= 60){ System.out.println(&D&); } else{ System.out.println(&E&); }从该代码中可知,每个else if语句在书写时是有顺序的,在实际书写时,必须按照逻辑上的顺序进行书写,否则将出现逻辑错误。if-else else-if语句是语言中提供的一个多分支条件语句,但是在判断某些问题时,会书写的比较麻烦,所以在语法中提供了另外一个语句&&switch语句来更好的实现多分支语句的判别。第二:switch语句说到这个语句 就不能不说break,使用break意思是可以立刻终止程序往下运行,跳出当前程序进行后面的语句switch的语法是:switch(表达式){case 常量表达式1:语句1;....case 常量表达式2:语句2;default:语句;}default就是如果没有符合的case就执行它,default并不是必须的.case后的语句可以不用大括号.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型. 如下代码public class Test7 {/** * @param args */ public static void main(String[] args) { int x = 1; switch (x){case 1: System.out.println(&1&P); case 2: System.out.println(&2&P); case 3: System.out.println(&3&P);}}打印结果是:1如果用if语句来实现上面的效果那么必须这样写:如下代码:public class Test7 {/** * @param args */ public static void main(String[] args) { int x = 1; if(x==1){ System.out.println(&1&P); }else if(x==2){ System.out.println(&2&P); }else if(x==3){ System.out.println(&3&P);共2页顶一下(0)0%踩一下(0)0%------分隔线------上一篇: 下一篇: 栏目列表推荐内容热点内容求大神帮忙改一下java的程序,把for循环改成do-while循环,谢了!!~~_百度知道
求大神帮忙改一下java的程序,把for循环改成do-while循环,谢了!!~~
程序如下:public class testx {public static void main(String[] args) {int i,j,k;for(i = 1;i&=9;i++){for(k = 1;k&i;k++)System.out.print(&\t&);for(j = 1;j&11-i;j++){System.out.print(i+&*&+j+&=&+i*j);System.out.print(&\t&);}System.out.println(&&);}}}
提问者采纳
public&class&testx&{ public&static&void&main(String[]&args)&{
int&i&=&1,&j&=&1,&k&=&1;
if&(k&&&1)
System.out.print(&\t&);
}&while&((k++)&&&i);
System.out.print(i&+&&*&&+&j&+&&=&&+&i&*&j);
System.out.print(&\t&);
}&while&((j++)&&&(10&-&i));
System.out.println();
}&while&((i++)&&=&8); }}
提问者评价
其他类似问题
为您推荐:
其他2条回答
给你一个九九乘法表的do-while参考,其实do-while和while是一样的 个人感觉while更符合人的思维习惯:int i=1,j=1; do {
System.out.print(i+&*&+j+&=&+i*j);
System.out.print(&\t&);
}while(j&10);
System.out.println();
}while(i&10);
public&class&testx&{ public&static&void&main(String[]&args)&{
int&i,&j,&k;
i&=&j&=&k&=&1;
System.out.println(&\t&);
}&while&(k&==&i&-&1);
System.out.print(i&+&&*&&+&j&+&&=&&+&i&*&j);
System.out.print(&\t&);
}&while&(j&==&11&-&i&-&1);
}&while&(i&==&8); }}
for循环的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关于Java中while和scanner的问题
[问题点数:40分]
关于Java中while和scanner的问题
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关推荐:
2015年7月 Java大版内专家分月排行榜第二2015年4月 Java大版内专家分月排行榜第二
2015年3月 Java大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 while switch 的文章

 

随机推荐