import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
int a;
Scanner input = new Scanner(System.in);
System.out.println("请输入月份:");
a = input.nextInt();
do if (a <= 12) {
switch (a) {
case 1:
case 2:
case 3:
System.out.println("春天");
break;
case 4:
case 5:
case 6:
System.out.println("夏天");
break;
case 7:
case 8:
case 9:
System.out.println("秋天");
break;
case 10:
case 11:
case 12:
System.out.println("冬天");
break;
}
}else{
System.out.println("输入错误,请重新输入:");
}wihle
}
}
我想让大于13的数进入else,并重新输入,是用do-wihle循环么?
求指点!!!谢谢啦!!!
------解决方案--------------------
- Java code
import java.util.*;public class Test { public static void main(String[] args) { int a=0; Scanner input = new Scanner(System.in); System.out.println("请输入月份:"); do { a = input.nextInt(); if(a>12||a<1){ System.out.println("输入错误,请重新输入:"); } else{ break; } } while (true); switch (a) { case 1: case 2: case 3: System.out.println("春天"); break; case 4: case 5: case 6: System.out.println("夏天"); break; case 7: case 8: case 9: System.out.println("秋天"); break; case 10: case 11: case 12: System.out.println("冬天"); break; } }}
------解决方案--------------------
if(a>0&&a<13)
{
if(a<=6)
{
if(a<=3) System.out.println("春天");
else System.out.println("夏天");
}
else
{
if(a<=9) System.out.println("秋天");
else System.out.println("冬天");
}
}
else System.out.println("输入有误!");
循环这样的话,会比较简洁点
------解决方案--------------------
public class Suilian4 {
public static void main(String[] args) {
int a;
Scanner input = new Scanner(System.in);
System.out.println("请输入月份:");
a = input.nextInt();
while(a<0||a>13){//加一个while循环判断输入的月份是否在范围之内,不在范围之内循环再次输入
System.out.println("输入错误,请重新输入:");
System.out.println("请输入月份:");
a = input.nextInt();
break;
}
switch (a) {
case 1:
case 2:
case 3:
System.out.println("春天");
break;
case 4:
case 5:
case 6:
System.out.println("夏天");
break;
case 7:
case 8:
case 9:
System.out.println("秋天");
break;
case 10:
case 11:
case 12:
System.out.println("冬天");
break;
}
}
}