A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

lc19901104

初级黑马

  • 黑马币:36

  • 帖子:15

  • 精华:0

代码如下,有两个问题请教各位大神:
1、怎样使在输入任何<1或>12的整数都能让程序循环运行???
2、怎么样使输入非整数时,程序自动跳出???
import java.util.Scanner;
class Demo1_month {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个数字代表月份:");
                int m = sc.nextInt();
                B:if (1<m && m<12) {
                        print(m);
                }else {
                        System.out.println("输入错误,请重新输入1~12之间的整数");
                        // 在此加什么语句,能使在输入任何<1或>12的整数都能让程序循环运行???
                        // 怎么样使输入非整数时,程序自动跳出???
                }
        }

        public static void print(int month){
                if (2<month && month<6) {
                        System.out.println(month+"月份是春季");
                }else if (5<month && month<9) {
                        System.out.println(month+"月份是夏季");
                }else if (8<month && month<12) {
                        System.out.println(month+"月份是秋季");
                }else {
                        System.out.println(month+"月份是冬季");
                }
        }
}

5 个回复

正序浏览
第一种方法:用while的死循环和switch语句完成,,注意在while(true)中的switch语句后重新添加键盘录入;
第二种方法:用for的死循环和switch语句完成,同上一种方法;
第三种方法:用while的死循环和if...else语句,原理同上;
第四种方法:用for的死循环和switch语句来完成,原理同上;
回复 使用道具 举报
兄弟...给你提个建议"以后再提问的时候,一定要清晰,简单,明了"
回复 使用道具 举报
代码都被你写成这样了,我们哪里还能怎么填空!
回复 使用道具 举报
刚回头重新研究了下,已找到方法解决,用if或while的死循环把主方法内的所有语句套起来就可以了~~~
回复 使用道具 举报
走过路过的大神,不要瞧不起我这简单的问题呀,求帮助~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马