Java系统化学习-基础复习习题day01

一、选择结构(if,if……else)

1、/*岳小鹏参加Java考试,他和父亲岳不群达成承诺:
如果:
成绩为100分时,奖励一辆BMW;
成绩为(80,99]时,奖励一台iphone7plus;
当成绩为[60,80]时,奖励一个 iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断*/

package test;
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
        System.out.println("请输入您的成绩");
        Scanner scan=new Scanner(System.in);
        int score=scan.nextInt();
        if(score==100){
            System.out.println("奖励一辆BMW");}
            else if(score>=80){
                System.out.println("奖励一台iphone7plus");
            }
            else if(score>=60){
                System.out.println("奖励一个 iPad");
            }
            else{
                System.out.println("什么奖励也没有");
            }
        }
    }

 

2、/*编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出。
*/

package test;
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
        System.out.println("请分别输入三个数");
        Scanner scan=new Scanner(System.in);
        int num1=scan.nextInt();
        int num2=scan.nextInt();
        int num3=scan.nextInt();
        if(num1<num2&&num2<num3) {
            System.out.println(num1+"<"+num2+"<"+num3);
        }
        else if(num1<num3&&num3<num2) {
            System.out.println(num1+"<"+num3+"<"+num2);
        }
        else if(num2<num3&&num3<num1) {
            System.out.println(num2+"<"+num3+"<"+num1);
        }
        else if(num2<num1&&num1<num3) {
            System.out.println(num2+"<"+num1+"<"+num3);
        }
        else if(num3<num2&&num2<num1) {
            System.out.println(num3+"<"+num2+"<"+num1);
        }
        else if(num3<num1&&num1<num2) {
            System.out.println(num3+"<"+num1+"<"+num2);
        }
            
  }
}
3、/*编写程序,声明2个int型变量并赋值。判断两数之和,如果大于等于50,打印“hello world!”

*/
package test;
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
        System.out.println("请分别输入两个数");
        Scanner scan=new Scanner(System.in);
        int num1=scan.nextInt();
        int num2=scan.nextInt();
        if(num1+num2>=50) {
            System.out.println("hello world");
        }    
  }
}
4、/*编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。

*/
package test;
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        double num1=13.0;
        double num2=19.0;
        if(num1>10.0&&num2<20.0) {
            double sum=num1+num2;
            System.out.println("两数之和"+sum);
        }
        
            
  }
}
5、/*求ax2+bx+c=0方程的根。a,b,c分别为函数的参数,如果:b2-4ac>0,则有两个解;b2-4ac=0,则有一个解;b2-4ac<0,则无解;
提示1:x1=(-b+sqrt(b2-4ac))/2a
     X2=(-b-sqrt(b2-4ac))/2a
提示2:Math.sqrt(num);

*/

package test;
//导入包Scanner便于输入使用
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
        System.out.println("请分别输入a、b、c");
        Scanner scan=new Scanner(System.in);
        double x1,x2,d;
        double a=scan.nextDouble();
        double b=scan.nextDouble();
        double c=scan.nextDouble();
        d=b*b-4*a*c;
        if(d>0) {
            x1=(-b+Math.sqrt(b*b-4*a*c))/(2*a);
            x2=(-b-Math.sqrt(b*b-4*a*c))/(2*a);
            System.out.println("x1="+x1+",x2="+x2);
        }
        if(d==0) {
            x1=x2=(-b+Math.sqrt(b*b-4*a*c))/(2*a);
            System.out.println("x1="+x1+",x2="+x2);
        }
        if(d<0) {
            System.out.println("无解");
        }
        
            
  }
}

    

二、多分支选择(Switch ……case)

/6、/*对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格”。

*/

package test;
//导入包Scanner便于输入使用
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
        System.out.println("请输入您的分数");
        Scanner scan=new Scanner(System.in);
        int score=scan.nextInt();
        
        
        switch(score/60) {
        case 1: System.out.println("合格");break;
        default:System.out.println("不合格");
        }
            
  }
}

    
7、/*根据用于指定月份,打印该月份所属的季节。
3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季

*/

package test;
//导入包Scanner便于输入使用
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
        System.out.println("请输入月份");
        Scanner scan=new Scanner(System.in);
        int mouth=scan.nextInt();
        switch(mouth) {
        case 3: 
        case 4: 
        case 5: System.out.println("春季");break;
        case 6: 
        case 7: 
        case 8: System.out.println("夏季");break;
        case 9: 
        case 10: 
        case 11: System.out.println("秋季");break;
        case 12: 
        case 1: 
        case 2: System.out.println("冬季");break;
        
        }
            
  }
}

    
//8、/*编写程序:从键盘上输入年的“month”和“day”,要求通过程序输出输入的日期为2017年的第几天。


*/

package adf;
//导入包Scanner便于输入使用
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入年");
        int year=scan.nextInt();
        System.out.println("请输入月");
        int mouth=scan.nextInt();
        System.out.println("请输入日");
        int day=scan.nextInt();
        int days = 0;
        switch(mouth) {
        case 12: days=days+30;
        case 11: 
               days=days+31;
        case 10: days=days+30;
            
        case 9: days=days+31;
        case 8: days=days+31;
        case 7: days=days+30;
        case 6: days=days+31;
        case 5: days=days+30;
        case 4: days=days+31;
        case 3: 
            
            if(year%400==0||(year%4==0&&year%100!=0)) {
                days=days+29;//闰年
            }
            else {
                days=days+28;//平年
            }
        case 2: days=days+31;
        case 1: days+=day;
        
        }
        System.out.println(year+"年,"+mouth+"月"+day+"日"+"第"+days+"天");
            
  }
}

    
9、/*编写程序:编写一个程序,为一个给定的年份找出其对应的中国生肖。中国的生肖基于12年一个周期,每年用一个动物代表:rat、ox、tiger、rabbit、dragon、snake、horse、sheep、monkey、rooster、dog、pig。



*/

package adf;
//导入包Scanner便于输入使用
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入年");
        int year=scan.nextInt();
        switch(year%12) {
        case 1:System.out.print("猴");break;
        case 2:System.out.print("狗");break;
        case 3:System.out.print("猪");break;
        case 4:System.out.print("鼠");break;
        case 5:System.out.print("牛");break;
        case 6:System.out.print("虎");break;
        case 7:System.out.print("兔");break;
        case 8:System.out.print("龙");break;
        case 9:System.out.print("蛇");break;
        case 10:System.out.print("马");break;
        case 11:System.out.print("羊");break;
        case 12:System.out.print("鼠");break;
        }
  }
}

    

三、循环结构(while、do……while、for)

 

10、/*编写程序FooBizBaz.java,从1循环到150并在每行打印一个值,另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”。

*/

package adf;
//导入包Scanner便于输入使用
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
//        Scanner scan=new Scanner(System.in);
//        System.out.println("请输入数字");
//        int n=scan.nextInt();
            int i;
        for(i=1;i<=150;i++) {
            System.out.print("第"+i+"行,");
            if(i%3==0) {
                System.out.print(" foo");
            }
            if(i%5==0) {
                System.out.print(" bin");
            }
            if(i%7==0) {
                System.out.print(" baz");
            }
            System.out.println();
            
        }
        
  }
}

    

 

11、/*打印1~100之间所有奇数的和

*/

package adf;
//导入包Scanner便于输入使用
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
//        Scanner scan=new Scanner(System.in);
//        System.out.println("请输入数字");
//        int n=scan.nextInt();
            int i,sum=0;
        for(i=1;i<=100;i+=2) {
            if(i%2==1) {
                System.out.println(i);
                sum+=i;
            }
        }    
        System.out.println("100以内奇数之和:"+sum);
  }
}

    
12、/*打印1~100之间所有是7的倍数的整数的个数及  
    总和(体会设置计数器的思想)
*/

package adf;
//导入包Scanner便于输入使用
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
//        Scanner scan=new Scanner(System.in);
//        System.out.println("请输入数字");
//        int n=scan.nextInt();
            int i,sum=0;
        for(i=1;i<=100;i++) {
            if(i%7==0) {
                System.out.println(i);
                sum+=i;
            }
        }    
        System.out.println("100以内能被7整除的倍数之和:"+sum);
  }
}

    
13、/*输出所有的水仙花数,所谓水仙花数是指一个3
   位数,其各个位上数字立方和等于其本身。
    例如: 153 = 1*1*1 + 3*3*3 + 5*5*5

*/

package adf;
//导入包Scanner便于输入使用
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
//        Scanner scan=new Scanner(System.in);
//        System.out.println("请输入数字");
//        int n=scan.nextInt();
        System.out.println("1000以内的水仙花数:");
            int g,s,b;
            int i;
            for( i=1;i<=1000;i++) {
            b=i/100;
            s=i/10%10;
            g=i%10;
            if(g*g*g+s*s*s+b*b*b==i) {
                System.out.println(i);
            }
            }
  }
}
14、/*输入两个正整数m和n,求其最大公约数和最小公倍数。
*/

package adf;
//导入包Scanner便于输入使用
import java.util.Scanner;
class adf{
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入两个数字");
        int m=scan.nextInt();
        int n=scan.nextInt();
//        获取这两个数的最大值和最小值
        int min=m<n?m:n;
        int max=m>n?m:n;
//        最大公约数
        for(int i=min;i>1;i--) {
            if(m%i==0&&n%i==0) {
                System.out.println("最大公约数:"+i);break;
            }
        }
        
//        最小公倍数
        for(int i=max;i<m*n;i++) {
            if(i%m==0&&i%n==0) {
                System.out.println("最小公倍数:"+i);break;
            }
        }
        
  }
}

    
posted @ 2020-02-11 19:28  安德风  阅读(570)  评论(0)    收藏  举报