黑马程序员技术交流社区
标题:
跪求大神看看,为啥case/那行卡住了,非常感谢
[打印本页]
作者:
saiqqww234
时间:
2016-5-4 23:08
标题:
跪求大神看看,为啥case/那行卡住了,非常感谢
import java.util.Scanner;
/*从键盘读入两个double数,再读入一个运算符(‘+’,‘-’,‘*’,‘/ ’之一),
*将两个数按照运算符进行运算,将运算的完整算式输出在屏幕上。
**/
public class Calc {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个实数:");
while(!scanner.hasNextDouble()){
System.out.println("输入有误!请重新输入一个实数!");
scanner.next();
}
double d1 = scanner.nextDouble();
System.out.println("请输入运算符(+,-,*,/):");
char ch = scanner.next().charAt(0);
// 19 行容易错,易写成 ||
while(ch != '+' && ch != '-' && ch != '*' && ch != '/'){
System.out.println("输入有误!请重新输入一个运算符:");
ch = scanner.next().charAt(0);
}
System.out.println("请输入第二个实数:");
while(!scanner.hasNextDouble()){
System.out.println("输入有误!请重新输入一个实数!");
scanner.next();
}
double d2 = scanner.nextDouble();
double d3 = 0;
switch(ch){
case '+':d3 = d1 + d2;break;
case '-':d3 = d1 - d2;break;
case '*':d3 = d1 * d2;break;
case '/':d3 = (d2 == 0)? null : (d1 / d2);break;
}
System.out.println(""+d3==null?"除数不能为0":d1 + "" + ch + "" + d2 + "=" + d3);
}
}
更多 0
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2