Java练习题---判断选择循环

来源:互联网 发布:中南大学网络登录平台 编辑:程序博客网 时间:2024/04/26 06:55
import java.util.*;class Work {    public static void main(String[] args)     {/**//1.手动输入年份,判断该年份是否是闰年;        Scanner sc = new Scanner(System.in);        System.out.println("请输入年份:");               int year = sc.nextInt();        //闰年        if( (year%4 == 0 && year%100 !=0 ) || year%400 == 0){            System.out.println(year+"年为闰年");        }else{            System.out.println(year+"年为平年");        }//2.百度文库,如果输入的用户名和密码正确可以下载,或者允许QQ登录(boolean)也可以下载,否则打印没有登录不能下载//扩展:首先输入用户名 密码,如果不正确,再输入qq是否登录。分别给出对应的提示//boolean b = input.nextBoolean();        Scanner sc = new Scanner(System.in);        System.out.println("请输入百度文库用户名");               String userName = sc.next();        System.out.println("请输入百度文库密码");        String password = sc.next();        if(userName.equals("suger") && password.equals("123456")){            System.out.println("百度文库账号登录成功");        }else{            System.out.println("百度账号登录失败,请输入是否用QQ登录,如果是请输入 true,否则请输入 false");            boolean b = sc.nextBoolean();            if(b){                System.out.println("请输入QQ用户名");                     String QQName = sc.next();                System.out.println("请输入QQ密码");                String QQpwd = sc.next();                if(QQName.equals("123456") && QQpwd.equals("123456")){                    System.out.println("QQ登录成功");                }else{                    System.out.println("QQ用户名或者密码错误");                }            }else{                System.out.println("登录失败");            }                       }       //3.有三个int型变量,a = 4;b = 3;c = 5;按大小输出        int a = 4 , b = 3 , c = 5 , t = 0;        if(a>b){            t=a;            a=b;            b=t;        }        if(a>c){            t=a;            a=c;            c=t;        }       if(b>c){           t=b;           b=c;           c=t;       }        System.out.println("a到c从小到大顺序为:"+a+"\t"+b+"\t"+c);/**             if(a>b){            int temp = a;            a = b;            b = temp;        }        if(a>c){            int temp = a;            a = c;            c = temp;        }        if(b>c){            int temp = b;            b = c;            c = temp;        }//4.登录:admin  123456 直到输入正确退出循环        Scanner sc = new Scanner(System.in);        while(true){        System.out.println("请输入用户名");               String userName = sc.next();        System.out.println("请输入密码");        String password = sc.next();            if(userName.equals("admin") && password.equals("123456")){            System.out.println("登录成功");            break;            }else{                System.out.println("用户名或者密码错误,请重新登录");            }           continue;        }//  5.ATM机的存款,取款,转账,退卡功能,要求在调用退卡时,退出系统;//      在调用存款,取款,转账时,能手动输入金额,并打印当前卡内余额;        boolean user = true;        Scanner sc = new Scanner(System.in);        float money = 10000;//初始卡内金额        while(user){        System.out.println("请输入业务类型:1.存款,2.取款,3.转账,4.退卡)");             int type = sc.nextInt();        switch(type){        case 1:            System.out.println("请输入存款金额");            float CRMB = sc.nextFloat();            money = CRMB + money;            System.out.println("当前卡内余额为:"+money);        break;        case 2:            System.out.println("请输入取款金额");            float QRMB = sc.nextFloat();            if(money > 10000){                System.out.println("卡内余额不足");            }else{                money = money - QRMB;                System.out.println("当前卡内余额为:"+money);            }                   break;        case 3:            System.out.println("请输入转账金额");            float ZRMB = sc.nextFloat();            if(money > 10000){                System.out.println("卡内余额不足");            }else{                money = money - ZRMB;                System.out.println("当前卡内余额为:"+money);            }                   break;        case 4:            System.out.println("您已经退出当前ATM系统");            user = false;            break;        default:            System.out.println("请输入正确的业务类型");        }        }/*//  6. 输出100-1000之间的水仙花数。水仙花数满足的条件为:153 = 1*1*1+5*5*5+3*3*3;//      即:个位的立方+十位的立方+ 百位的立方 == 本身        for(int i = 100; i<1000 ; i++){            int b = i/100;            int s = i%100/10;            int g = i%10;            if ( i == b*b*b + s*s*s + g*g*g ){                System.out.println(i+"为水仙花数");//153 ,370,371,407            }else{                continue;            }        }//7.用户实现登录功能,如果输入错误3次将锁定账户          Scanner sc = new Scanner(System.in);        for(int i = 0; i<3 ; i++){        System.out.println("请输入用户名");               String userName = sc.next();        System.out.println("请输入密码");        String password = sc.next();        if(userName.equals("admin") && password.equals("123456")){            System.out.println("登录成功");            break;        }else{            if(i==0 || i==1){                System.out.println("用户名或者密码错误,请重新登录");            }else{                System.out.println("账户被锁定");            }            continue;        }            }//8.1 2 3 4 四个数字,能组成多少个互不相同且无重复的三位数        int sum = 0;//个数        for(int i = 1; i<5 ;i++){            for(int j = 1; j<5 ;j++){                for(int m = 1; m<5 ; m++){                    if(i != j && i != m && j != m){                        sum += 1;                    }                    System.out.println(i*100 + j*10 + m);                }            }        }        System.out.println("互不相同且无重复的三位数为:" + sum + "个");//24//9.手动输入年份,月份,返回截止到当前月的上个月的天数的总数;        Scanner sc = new Scanner(System.in);        System.out.println("请输入年份:");               int year = sc.nextInt();        System.out.println("请输入月份:");           int month = sc.nextInt();        //闰年        if( (year%4 == 0 && year%100 !=0 ) || year%400 == 0){            if(month-1 == 2){                System.out.println("2月29天");            }else                if(month-1 == 1 || month-1 == 3 || month-1 == 7 ||month-1 == 5 || month-1 == 8 || month-1 == 10 ){                System.out.println(month-1 +"月31天");                }else                    if(month-1 == 0){                    System.out.println("12月31天");                }else{                    System.out.println(month-1 +"月30天");                }               }else{            if(month-1 == 2){                System.out.println("2月28天");            }else            if(month-1 == 1 || month-1 == 3 || month-1 == 5 || month-1 == 7 || month-1 == 8 || month-1 == 10 ){                System.out.println(month-1 +"月31天");            }else            if(month-1 == 0){                System.out.println("12月31天");            }else{                System.out.println(month-1 +"月30天");            }        }*/              Scanner sc = new Scanner(System.in);        System.out.println("请输入年份:");               int year = sc.nextInt();        System.out.println("请输入月份:");           int month = sc.nextInt();        int day = 0;        int sumDay = 0;        for(int i = 1; i <month; i++){            switch(i){                case 1:                    day = 31;                break;                case 2:                    if( (year%4 == 0 && year%100 !=0 ) || year%400 == 0){                        day = 29;                    }else{                        day = 28;                    }                break;                case 3:                    day = 31;                break;                case 4:                    day = 30;                break;                case 5:                    day = 31;                break;                case 6:                    day = 30;                break;                case 7:                    day = 31;                break;                case 8:                    day = 31;                break;                case 9:                    day = 30;                break;                case 10:                    day = 31;                break;                case 11:                    day = 30;                break;                case 12:                    day = 31;                break;            }            sumDay+=day;            }        System.out.println("共"+ sumDay +"天");/**//  10.简答题://      whiledo{}while()区别?            答:  while循环:先判断是否符合条件,然后在执行                    do{}while(); 不管是否符合条件,至少会运行一次循环体        breakcontinue区别?                答:break;终止循环                    continue; 继续执行        跨平台原理                答:不同的平台有不同的虚拟机,彼此虚拟机不同,但都能运行Java语言,屏蔽底层平台区别。        java优势                答:面向对象的编程语言                    健壮性(吸收了C、C++语言的特点)                    安全性(垃圾回收机制、取消了指针,类型检查)                    跨平台(通过JVM实现)        java体系                答:JavaSE  标准版,Java体系的核心                    JavaME  微型版,针对移动端的开发                    JavaEE  企业版,针对企业级的开发        标识符命名规则                答:由数字、字母、下划线、$组成                    不能使用关键字                    区分大小写                    不能以数字开头                    长度无限制*/    }}
0 0