JAVA编程 用Scanner、if、switch。 if必需要有一个判断输入的数字是否正确。
3个回答
展开全部
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | //第一个数 System.out.println( "请输入第一个数。" ); double n1= 0 ; double n2= 0 ; for ( int i = 1 ; i <= 4 ; i++) { Scanner scanforn1 = new Scanner(System.in); if (scanforn1.hasNextDouble()== false ) { if (i== 4 ) { System.out.println( "您输入的次数过多,程序结束" ); System.exit( 0 ); } System.out.println( "您输入的第一个不是数字,请重新输入" ); } else { n1=scanforn1.nextDouble(); break ; } } //第二个数 System.out.println( "请输入第二个数。" ); for ( int i = 1 ; i <= 4 ; i++) { Scanner scanforn2 = new Scanner(System.in); if (scanforn2.hasNextDouble()== false ) { if (i== 4 ) { System.out.println( "您输入的次数过多,程序结束" ); System.exit( 0 ); } System.out.println( "您输入的第二个不是数字,请重新输入" ); } else { n2=scanforn2.nextDouble(); break ; } } Scanner scanCalc = new Scanner(System.in); System.out.println( "请输入运算符号(+、-、*、/)" ); String calcStr =scanCalc.next(); switch (calcStr) { case "+" : System.out.println(n1+ "+" +n2+ "=" +(n1+n2)); break ; case "-" : System.out.println(n1+ "-" +n2+ "=" +(n1-n2)); break ; case "*" : System.out.println(n1+ "×" +n2+ "=" +(n1*n2)); break ; case "/" : if (n2== 0 ) { System.out.println( "除数不能为0" ); System.exit( 0 ); } System.out.println(n1+ "÷" +n2+ "=" +(n1/n2)); break ; default : System.out.println( "请输入正确的运算符号(+、-、*、/)" ); break ; } |
追问
我是新手,第一行我看不懂,你的程序里没switch
判断输入的数字是否正确不是用的
if(sc.hasNaxt){
}
追答
只输入两个数字好像用不到switch吧 我那是用的正则判断是不是整数
展开全部
//第一个数
System.out.println("请输入第一个数。");
double n1=0;
double n2=0;
for (int i = 1; i <= 4; i++) {
Scanner scanforn1 = new Scanner(System.in);
if(scanforn1.hasNextDouble()==false) {
if(i==4) {
System.out.println("您输入的次数过多,程序结束");
System.exit(0);
}
System.out.println("您输入的第一个不是数字,请重新输入");
}else {
n1=scanforn1.nextDouble();
break;
}
}
//第二个数
System.out.println("请输入第二个数。");
for (int i = 1; i <= 4; i++) {
Scanner scanforn2 = new Scanner(System.in);
if(scanforn2.hasNextDouble()==false) {
if(i==4) {
System.out.println("您输入的次数过多,程序结束");
System.exit(0);
}
System.out.println("您输入的第二个不是数字,请重新输入");
}else {
n2=scanforn2.nextDouble();
break;
}
}
Scanner scanCalc = new Scanner(System.in);
System.out.println("请输入运算符号(+、-、*、/)");
String calcStr =scanCalc.next();
switch (calcStr) {
case "+":
System.out.println(n1+"+"+n2+"="+(n1+n2));
break;
case "-":
System.out.println(n1+"-"+n2+"="+(n1-n2));
break;
case "*":
System.out.println(n1+"×"+n2+"="+(n1*n2));
break;
case "/":
if(n2==0) {
System.out.println("除数不能为0");
System.exit(0);
}
System.out.println(n1+"÷"+n2+"="+(n1/n2));
break;
default:
System.out.println("请输入正确的运算符号(+、-、*、/)");
break;
}
System.out.println("请输入第一个数。");
double n1=0;
double n2=0;
for (int i = 1; i <= 4; i++) {
Scanner scanforn1 = new Scanner(System.in);
if(scanforn1.hasNextDouble()==false) {
if(i==4) {
System.out.println("您输入的次数过多,程序结束");
System.exit(0);
}
System.out.println("您输入的第一个不是数字,请重新输入");
}else {
n1=scanforn1.nextDouble();
break;
}
}
//第二个数
System.out.println("请输入第二个数。");
for (int i = 1; i <= 4; i++) {
Scanner scanforn2 = new Scanner(System.in);
if(scanforn2.hasNextDouble()==false) {
if(i==4) {
System.out.println("您输入的次数过多,程序结束");
System.exit(0);
}
System.out.println("您输入的第二个不是数字,请重新输入");
}else {
n2=scanforn2.nextDouble();
break;
}
}
Scanner scanCalc = new Scanner(System.in);
System.out.println("请输入运算符号(+、-、*、/)");
String calcStr =scanCalc.next();
switch (calcStr) {
case "+":
System.out.println(n1+"+"+n2+"="+(n1+n2));
break;
case "-":
System.out.println(n1+"-"+n2+"="+(n1-n2));
break;
case "*":
System.out.println(n1+"×"+n2+"="+(n1*n2));
break;
case "/":
if(n2==0) {
System.out.println("除数不能为0");
System.exit(0);
}
System.out.println(n1+"÷"+n2+"="+(n1/n2));
break;
default:
System.out.println("请输入正确的运算符号(+、-、*、/)");
break;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询