选择语句+循环语句作业及答案

版权声明:希望大家喜欢,如果有误,欢迎指正~~~~ https://blog.csdn.net/weixin_44071260/article/details/85105881

选择语句+循环语句作业

一、 填空题

  1. Java中有两种类型的选择结构的控制语句,分别是if语句和switch。
  2. 在Java JDK1.7之前,switch只能支持byte、short、char、int或者其对应的封装类以及Enum类型。在JDK1.7中又加入了String类型。
  3. for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环过程中只执行一次的部分是表达式1。
  4. 在循环结构中,如果想跳出循环体,结束整个循环结构可以使用break语句。
  5. continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。即只结束本次循环,而不是终止整个循环的执行。
  6. 使用Math.random( )返回带正号的 double值,该值大于等于0.0且小于1.0。使用该函数生成[30,60]之间的随机整数的语句是 (int)(Math.random(31)+30) 。

二、 选择题

  1. 以下代码的执行结果是()。(选择一项)
    boolean m = false;
    if(m = false){
    System.out.println(“false”);
    }else{
    System.out.println(“true”);
    }

    A. false
    B. true
    C. 编译错误
    D. 无结果

  2. 分析如下Java代码,编译运行的输出结果是()。(选择一项)
    public static void main(String[ ] args) {
    boolean a=true;
    boolean b=false;
    if (!(a&&b)) {
    System.out.print("!(a&&b)");
    }else if (!(a||b)) {
    System.out.println("!(a||b)");
    }else {
    System.out.println(“ab”);
    }
    }

    A !(a&&b)
    B. !(a||b)
    C. ab
    D. !(a||b)ab

  3. 下列选项中关于变量x的定义,()可使以下switch语句编译通过。(选择二项)
    switch(x) {
    case 100 :
    System.out.println(“One hundred”);
    break;
    case 200 :
    System.out.println(“Two hundred”);
    break;
    case 300 :
    System.out.println( “Three hundred”);
    break;
    default :
    System.out.println( “default”);
    }

    A double x = 100;
    B. char x = 100;
    C. String x = “100”;
    D. int x = 100;

  4. 阅读下列文件定入的Java代码,其执行结果是()。(选择一项)
    public class Test {
    public static void main(String[] args) {
    char ch = ‘c’;
    switch (ch) {
    case ‘a’:
    System.out.print(“a”); break;
    case ‘b’:
    System.out.print(“ab”);
    case ‘c’:
    System.out.print(“c”);
    default:
    System.out.print(“d”);
    }
    }
    }

    A a
    B. b
    C. c
    D. cd

  5. 以下Java程序编译运行后的输出结果是()。(选择一项)
    public class Test {
    public static void main(String[] args) {
    int i = 0, sum = 0;
    while (i <= 10) {
    sum += i;
    i++;
    if (i % 2 == 0) 1+2+3+…+10
    continue; 11*10/2
    }
    System.out.println(sum);
    }
    }

    A 0
    B. 55
    C. 50
    D. 36

  6. 以下四个选项中和下面代码功能相同的是()。(选择一项)
    int i = 1;
    int sum = 0;
    while (i <= 100) {
    if (i % 2 == 0)
    sum = sum + i;
    i++;
    }

    A for (int x =1; x<=100;x++){ sum=sum+x;}
    B. for (int x =0; x<=100;x+=2){ sum=sum+x;}
    C. for (int x =1; x<=100;x+=2){ sum=sum+x;}
    D. 上述全对

  7. 以下do-while循环代码的执行结果是()。(选择一项)
    int a=0;
    int c=0;
    do{
    –c; -1
    a=a-1; -1
    }while(a>0);
    System.out.println(a+" "+c);

    A. -1 -1
    B. 死循环
    C. -1 -2
    D. -1 0

  8. while循环和do-while循环的区别是()。(选择一项)

    A. 没有区别,这两个结构在任何情况下效果一样
    B. while循环比do-while循环执行效率高
    C. while循环是先循环后判断,所以循环体至少被执行一次
    D. do-while循环是先循环后判断,所以循环体至少被执行一次

  9. 在Java中有如下代码,则编译运行该类的输出结果是()。(选择一项)
    public static void main(String[ ] args) {
    for(int i=0;i<10;i++){
    if (i%2!=0)
    return;
    System.out.print(i);
    }
    }

    A 13578
    B. 02468
    C. 0123456789
    D. 0

  10. 下面程序执行的结果是在屏幕上打印()次Java基础班。(选择一项)
    for(int i=1;i<=10;i++){
    if (i<5)
    continue;
    System.out.println(“Java基础班”);
    }

    A 5
    B. 6
    C. 7
    D. 8

三、 判断题(共20个题目,总计10分)

  1. if语句的条件表达式的结果都必须是boolean值。()
  2. switch选择语句是多分支选择语句,只能处理等值条件判断的情况,表达式可以是int类型、char类型,但不能是double,float类型。()
  3. while循环结构的特点是先循环再判断,循环体至少执行一次。()
  4. for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中三个表达式都可以省略。()
  5. break语句可以出现在switch语句和循环语句中。()
  6. continue语句可以出现在switch语句和循环语句中。()

四、 简答题

  1. if多分支语句和switch语句的异同之处
  2. while和do-while语句的异同之处
  3. break和continue语句的作用

五、 编码题

  1. 输入一个数,判断是奇数还是偶数
  2. 根据成绩输出对应的等级,使用if多分支和switch语句分别实现。
    a) A级 [90,100]
    b) B级 [80,90)
    c) C级 [70,80)
    d) D级 [60,70)
    e) E级 [0,60)
  3. 根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。

//1.输入数字;2.通过输入的数字判断季节;3.打印对应的成语两个和活动
4. 判断一个数是否是素数。
5. 从键盘输入一个班5个学生的分数,求和并输出。
//1.键盘输入Scanner;2.每输入一次在弹出对话输入一次,直到输入五次;3将五次的 //输入求和;4输出
从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
//1.键盘输入Scanner;2.将输入的十进制数转换为二进制数(字符串形式)

六、 可选题

  1. 根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机, 60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。
    要求:该题使用多重if完成
  2. 请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”。星期的英文单词如下表所示。
    星期一 星期二 星期三 星期四 星期五 星期六 星期日
    Monday Tuesday Wednesday Thursday Fridy Saturday Sunday
  3. 输入一个整数,产生对应个随机数字[1-143],使用循环求出最大值与最小值,输入0时结束。
  4. 给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐。

选择语句+循环语句作业答案

选择语句+循环语句作业答案

一、 填空题

  1. switch语句
  2. String
  3. 表达式1
  4. break
  5. continue
  6. (int)(Math.random()*31)+30

二、 选择题

  1. B
  2. A
  3. BD
  4. D
  5. B
  6. B
  7. A
  8. D
  9. D
  10. B

三、 判断题

  1. ×
  2. ×

四、 简答题

答案略

五、 编码题

  1. 输入一个数,判断是奇数还是偶数
    public class TestNum {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    //输入一个数
    System.out.println(“请输入你要判断的数据:”);
    int x = input.nextInt();
    //判断一个数据是奇数还是偶数
    if(x%2 == 0) {
    System.out.println(x+“这个数据是偶数”);
    }else {
    System.out.println(x+“这个数据是奇数”);
    }
    }
    }

  2. 根据成绩输出对应的等级,使用if多分支和switch语句分别实现。
    public class TestGrade1 {
    public static void main(String[] args) {
    // 给出分数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个分数”);
    double score = input.nextDouble();
    // 根据分数,给出等级
    String grade;
    if (score >= 90) {
    grade = “A”;
    } else if (score >= 80) {
    grade = “B”;
    } else if (score >= 70) {
    grade = “C”;
    } else if (score >= 60) {
    grade = “D”;
    } else {
    grade = “E”;
    }
    // 输出等级
    System.out.println(“score=” + score + “,grade=” + grade);
    }
    }
    public class TestGrade2 {
    public static void main(String[] args) {
    // 给出分数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个分数”);
    int score = input.nextInt();
    //根据分数,给出等级
    String grade=“E”;
    switch(score/10){
    case 10:
    case 9:grade=“A”;break;
    case 8:grade=“B”;break;
    case 7:grade=“C”;break;
    case 6:grade=“D”;break;
    default :grade=“E”;
    }
    //输出等级
    System.out.println(“score=”+score+",grade="+grade);
    }
    }

  3. 根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
    public class TestSeason {
    public static void main(String[] args) {
    // 输入月份
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入月份:”);
    int month = input.nextInt();
    //根据月份输出季节
    switch(month){
    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;
    default: System.out.println(“您的输入有误”);
    }
    }
    }

  4. 判断一个数是否是素数。
    public class TestPrime {
    public static void main(String[] args) {
    // 输入一个数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个数:”);
    int n = input.nextInt();
    // 判断是否是素数
    boolean flag = true;
    if (n == 1)
    flag = false;
    else {
    for (int i = 2; i < n; i++) {
    if (n % i== 0) {
    flag = false;
    break;
    }
    }
    }
    // 输出结果
    if (flag) {
    System.out.println(n + “是素数”);
    } else {
    System.out.println(n + “不是素数”);
    }
    }
    }
    5.从键盘输入一个班5个学生的分数,求和并输出。
    public class TestSum {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    //输入总分并求和
    double sum = 0;
    for (int i = 0; i < 5; i++) {
    System.out.println(“请输入第”+(i+1)+“个学生的成绩”);
    double d = input.nextDouble();
    sum += d;
    }
    //输出总分
    System.out.println(“总分是”+sum);
    }
    }
    6.从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
    public class Test10to2_1 {
    public static void main(String [] args){
    //给出一个十进制数
    int num2 =6;
    //转换
    int num = num2;
    String str="";
    do{
    //除以2得到商
    int div = num/2;
    //得到余数作为二进制位
    int mod = num%2;
    str = mod + str;
    //商作为被除数
    num = div;
    }while(num!=0);//被除数不是零
    //输出二进制数
    System.out.println(num2+"------>"+str);
    }
    }

六、 可选题

  1. 根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机, 60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。
    要求:该题使用多重if完成
    public class Test 1{
    public static void main(String[] args) {
    int score = 80;
    if (score >= 90) {
    System.out.println(“电脑”);
    } else if (score >= 80) {
    System.out.println(“手机”);
    } else if (score >= 60) {
    System.out.println(“大餐”);
    } else {
    System.out.println(“学习资料”);
    }
    }
    }

2.请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”。
public class Test2{
public static void main(String[] args) {
char i, j;
System.out.println(“please enter the first letter:”);
Scanner input = new Scanner(System.in);
String str = “”;
str = input.next().toLowerCase();
// 转换成字符串
i = str.charAt(0);
switch (i) {
case ‘m’:
System.out.println(“Monday\n”); break;
case ‘w’:
System.out.println(“Wednesday\n”);break;
case ‘f’:
System.out.println(“Friday\n”); break;
case ‘t’:
System.out.println(“please enter the next letter:”);
str = input.next().toLowerCase();
j = str.charAt(0);
if (j == ‘u’)
System.out.println(“Tuesday\n”);
else if (j == ‘h’)
System.out.println(“Thursday\n”);
else
System.out.println(“error\n”);
break;
case ‘s’:
System.out.println(“please enter the next letter:”);
// 转换成字符串
str = input.next().toLowerCase();
j = str.charAt(0);
if (j == ‘a’)
System.out.println(“Saturday\n”);
else if (j == ‘u’)
System.out.println(“Sunday\n”);
else
System.out.println(“error\n”);
break;
default:
System.out.println(“error\n”);
break;
}
}
}

  1. 输入一批整数,使用循环求出最大值与最小值,输入0时结束。
    public class Test 3{
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int max = 0, min = 0;
    int nums = 1;
    //输入第一个数,指定它是最大值和最小值
    System.out.println(“请输入1个数:”);
    nums = input.nextInt();
    max = nums;
    min = nums;
    //依次输入其他数字,并判断是否是最大值和最小值
    for (int i = 2; nums != 0; i++) {
    System.out.println(“请输入” +i + “个数:”);
    nums = input.nextInt();
    if (nums != 0) {
    if (nums > max) {
    max = nums;
    }
    if (nums < min) {
    min = nums;
    }
    }
    }
    //输出最大值和最小值
    System.out.println(“最大值为:” + max);
    System.out.println(“最小值为:” + min);
    }
    }

4.给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐。
public class Test4 {
public static void main(String[] args) {
int money = 20, price = 3;
// temp表示每一次购买的可乐瓶数
int temp = 0;
// change表示每次购买完可乐剩下的钱
int change = 0;
// sum表示总的可乐瓶数
int sum = 0;
// 如果钱数大于可乐价格
while (money >= price) {
// 购买可乐
temp = money / price;
// 总可乐瓶数增加
sum += temp;
// 计算买可乐剩下的钱
change = money % price;
// 兑换可乐瓶子,计算剩余的总钱数
money = temp + change;
}
// 输出结果
System.out.println(sum);
}
}

5.从键盘输入某个十进制小数,转换成对应的二进制小数并输出。
public class Test5{
public static void main(String [] args){
//给定一个十进制小数
double d = 0.6666;
//转换
double mul = d;
StringBuffer buffer = new StringBuffer(“0.”);
//定义一个计数器
int count=0;
do{
//乘以2得到积
double result = mul*2;//1.250
//从积中取出整数部分作为二进制位
int i = (int)result;
buffer.append(i);
//计数
count++;
//判断是否够7位
if(count==7){
break;
}
//从积中取出小数部分作为下一次的乘数
mul= result-i;
}while(mul!=0); //判断乘数是否为0
//输出十进制小数和二进制小数
System.out.println(d+"---->"+buffer);
}
}
注意:此题目中使用了StringBuffer,具体内容会在后续章节中介绍。
一、 填空题

  1. switch语句
  2. String
  3. 表达式1
  4. break
  5. continue
  6. (int)(Math.random()*31)+30

二、 选择题

  1. B
  2. A
  3. BD
  4. D
  5. B
  6. B
  7. A
  8. D
  9. D
  10. B

三、 判断题

  1. ×
  2. ×

四、 简答题

答案略

五、 编码题

  1. 输入一个数,判断是奇数还是偶数
    public class TestNum {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    //输入一个数
    System.out.println(“请输入你要判断的数据:”);
    int x = input.nextInt();
    //判断一个数据是奇数还是偶数
    if(x%2 == 0) {
    System.out.println(x+“这个数据是偶数”);
    }else {
    System.out.println(x+“这个数据是奇数”);
    }
    }
    }

  2. 根据成绩输出对应的等级,使用if多分支和switch语句分别实现。
    public class TestGrade1 {
    public static void main(String[] args) {
    // 给出分数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个分数”);
    double score = input.nextDouble();
    // 根据分数,给出等级
    String grade;
    if (score >= 90) {
    grade = “A”;
    } else if (score >= 80) {
    grade = “B”;
    } else if (score >= 70) {
    grade = “C”;
    } else if (score >= 60) {
    grade = “D”;
    } else {
    grade = “E”;
    }
    // 输出等级
    System.out.println(“score=” + score + “,grade=” + grade);
    }
    }
    public class TestGrade2 {
    public static void main(String[] args) {
    // 给出分数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个分数”);
    int score = input.nextInt();
    //根据分数,给出等级
    String grade=“E”;
    switch(score/10){
    case 10:
    case 9:grade=“A”;break;
    case 8:grade=“B”;break;
    case 7:grade=“C”;break;
    case 6:grade=“D”;break;
    default :grade=“E”;
    }
    //输出等级
    System.out.println(“score=”+score+",grade="+grade);
    }
    }

  3. 根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
    public class TestSeason {
    public static void main(String[] args) {
    // 输入月份
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入月份:”);
    int month = input.nextInt();
    //根据月份输出季节
    switch(month){
    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;
    default: System.out.println(“您的输入有误”);
    }
    }
    }

  4. 判断一个数是否是素数。
    public class TestPrime {
    public static void main(String[] args) {
    // 输入一个数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个数:”);
    int n = input.nextInt();
    // 判断是否是素数
    boolean flag = true;
    if (n == 1)
    flag = false;
    else {
    for (int i = 2; i < n; i++) {
    if (n % i== 0) {
    flag = false;
    break;
    }
    }
    }
    // 输出结果
    if (flag) {
    System.out.println(n + “是素数”);
    } else {
    System.out.println(n + “不是素数”);
    }
    }
    }
    5.从键盘输入一个班5个学生的分数,求和并输出。
    public class TestSum {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    //输入总分并求和
    double sum = 0;
    for (int i = 0; i < 5; i++) {
    System.out.println(“请输入第”+(i+1)+“个学生的成绩”);
    double d = input.nextDouble();
    sum += d;
    }
    //输出总分
    System.out.println(“总分是”+sum);
    }
    }
    6.从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
    public class Test10to2_1 {
    public static void main(String [] args){
    //给出一个十进制数
    int num2 =6;
    //转换
    int num = num2;
    String str="";
    do{
    //除以2得到商
    int div = num/2;
    //得到余数作为二进制位
    int mod = num%2;
    str = mod + str;
    //商作为被除数
    num = div;
    }while(num!=0);//被除数不是零
    //输出二进制数
    System.out.println(num2+"------>"+str);
    }
    }

六、 可选题

  1. 根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机, 60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。
    要求:该题使用多重if完成
    public class Test 1{
    public static void main(String[] args) {
    int score = 80;
    if (score >= 90) {
    System.out.println(“电脑”);
    } else if (score >= 80) {
    System.out.println(“手机”);
    } else if (score >= 60) {
    System.out.println(“大餐”);
    } else {
    System.out.println(“学习资料”);
    }
    }
    }

2.请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”。
public class Test2{
public static void main(String[] args) {
char i, j;
System.out.println(“please enter the first letter:”);
Scanner input = new Scanner(System.in);
String str = “”;
str = input.next().toLowerCase();
// 转换成字符串
i = str.charAt(0);
switch (i) {
case ‘m’:
System.out.println(“Monday\n”); break;
case ‘w’:
System.out.println(“Wednesday\n”);break;
case ‘f’:
System.out.println(“Friday\n”); break;
case ‘t’:
System.out.println(“please enter the next letter:”);
str = input.next().toLowerCase();
j = str.charAt(0);
if (j == ‘u’)
System.out.println(“Tuesday\n”);
else if (j == ‘h’)
System.out.println(“Thursday\n”);
else
System.out.println(“error\n”);
break;
case ‘s’:
System.out.println(“please enter the next letter:”);
// 转换成字符串
str = input.next().toLowerCase();
j = str.charAt(0);
if (j == ‘a’)
System.out.println(“Saturday\n”);
else if (j == ‘u’)
System.out.println(“Sunday\n”);
else
System.out.println(“error\n”);
break;
default:
System.out.println(“error\n”);
break;
}
}
}

  1. 输入一批整数,使用循环求出最大值与最小值,输入0时结束。
    public class Test 3{
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int max = 0, min = 0;
    int nums = 1;
    //输入第一个数,指定它是最大值和最小值
    System.out.println(“请输入1个数:”);
    nums = input.nextInt();
    max = nums;
    min = nums;
    //依次输入其他数字,并判断是否是最大值和最小值
    for (int i = 2; nums != 0; i++) {
    System.out.println(“请输入” +i + “个数:”);
    nums = input.nextInt();
    if (nums != 0) {
    if (nums > max) {
    max = nums;
    }
    if (nums < min) {
    min = nums;
    }
    }
    }
    //输出最大值和最小值
    System.out.println(“最大值为:” + max);
    System.out.println(“最小值为:” + min);
    }
    }

4.给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐。
public class Test4 {
public static void main(String[] args) {
int money = 20, price = 3;
// temp表示每一次购买的可乐瓶数
int temp = 0;
// change表示每次购买完可乐剩下的钱
int change = 0;
// sum表示总的可乐瓶数
int sum = 0;
// 如果钱数大于可乐价格
while (money >= price) {
// 购买可乐
temp = money / price;
// 总可乐瓶数增加
sum += temp;
// 计算买可乐剩下的钱
change = money % price;
// 兑换可乐瓶子,计算剩余的总钱数
money = temp + change;
}
// 输出结果
System.out.println(sum);
}
}

5.从键盘输入某个十进制小数,转换成对应的二进制小数并输出。
public class Test5{
public static void main(String [] args){
//给定一个十进制小数
double d = 0.6666;
//转换
double mul = d;
StringBuffer buffer = new StringBuffer(“0.”);
//定义一个计数器
int count=0;
do{
//乘以2得到积
double result = mul*2;//1.250
//从积中取出整数部分作为二进制位
int i = (int)result;
buffer.append(i);
//计数
count++;
//判断是否够7位
if(count==7){
break;
}
//从积中取出小数部分作为下一次的乘数
mul= result-i;
}while(mul!=0); //判断乘数是否为0
//输出十进制小数和二进制小数
System.out.println(d+"---->"+buffer);
}
}
注意:此题目中使用了StringBuffer,具体内容会在后续章节中介绍。
一、 填空题

  1. switch语句
  2. String
  3. 表达式1
  4. break
  5. continue
  6. (int)(Math.random()*31)+30

二、 选择题

  1. B
  2. A
  3. BD
  4. D
  5. B
  6. B
  7. A
  8. D
  9. D
  10. B

三、 判断题

  1. ×
  2. ×

四、 简答题

答案略

五、 编码题

  1. 输入一个数,判断是奇数还是偶数
    public class TestNum {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    //输入一个数
    System.out.println(“请输入你要判断的数据:”);
    int x = input.nextInt();
    //判断一个数据是奇数还是偶数
    if(x%2 == 0) {
    System.out.println(x+“这个数据是偶数”);
    }else {
    System.out.println(x+“这个数据是奇数”);
    }
    }
    }

  2. 根据成绩输出对应的等级,使用if多分支和switch语句分别实现。
    public class TestGrade1 {
    public static void main(String[] args) {
    // 给出分数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个分数”);
    double score = input.nextDouble();
    // 根据分数,给出等级
    String grade;
    if (score >= 90) {
    grade = “A”;
    } else if (score >= 80) {
    grade = “B”;
    } else if (score >= 70) {
    grade = “C”;
    } else if (score >= 60) {
    grade = “D”;
    } else {
    grade = “E”;
    }
    // 输出等级
    System.out.println(“score=” + score + “,grade=” + grade);
    }
    }
    public class TestGrade2 {
    public static void main(String[] args) {
    // 给出分数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个分数”);
    int score = input.nextInt();
    //根据分数,给出等级
    String grade=“E”;
    switch(score/10){
    case 10:
    case 9:grade=“A”;break;
    case 8:grade=“B”;break;
    case 7:grade=“C”;break;
    case 6:grade=“D”;break;
    default :grade=“E”;
    }
    //输出等级
    System.out.println(“score=”+score+",grade="+grade);
    }
    }

  3. 根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
    public class TestSeason {
    public static void main(String[] args) {
    // 输入月份
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入月份:”);
    int month = input.nextInt();
    //根据月份输出季节
    switch(month){
    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;
    default: System.out.println(“您的输入有误”);
    }
    }
    }

  4. 判断一个数是否是素数。
    public class TestPrime {
    public static void main(String[] args) {
    // 输入一个数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个数:”);
    int n = input.nextInt();
    // 判断是否是素数
    boolean flag = true;
    if (n == 1)
    flag = false;
    else {
    for (int i = 2; i < n; i++) {
    if (n % i== 0) {
    flag = false;
    break;
    }
    }
    }
    // 输出结果
    if (flag) {
    System.out.println(n + “是素数”);
    } else {
    System.out.println(n + “不是素数”);
    }
    }
    }
    5.从键盘输入一个班5个学生的分数,求和并输出。
    public class TestSum {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    //输入总分并求和
    double sum = 0;
    for (int i = 0; i < 5; i++) {
    System.out.println(“请输入第”+(i+1)+“个学生的成绩”);
    double d = input.nextDouble();
    sum += d;
    }
    //输出总分
    System.out.println(“总分是”+sum);
    }
    }
    6.从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
    public class Test10to2_1 {
    public static void main(String [] args){
    //给出一个十进制数
    int num2 =6;
    //转换
    int num = num2;
    String str="";
    do{
    //除以2得到商
    int div = num/2;
    //得到余数作为二进制位
    int mod = num%2;
    str = mod + str;
    //商作为被除数
    num = div;
    }while(num!=0);//被除数不是零
    //输出二进制数
    System.out.println(num2+"------>"+str);
    }
    }

六、 可选题

  1. 根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机, 60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。
    要求:该题使用多重if完成
    public class Test 1{
    public static void main(String[] args) {
    int score = 80;
    if (score >= 90) {
    System.out.println(“电脑”);
    } else if (score >= 80) {
    System.out.println(“手机”);
    } else if (score >= 60) {
    System.out.println(“大餐”);
    } else {
    System.out.println(“学习资料”);
    }
    }
    }

2.请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”。
public class Test2{
public static void main(String[] args) {
char i, j;
System.out.println(“please enter the first letter:”);
Scanner input = new Scanner(System.in);
String str = “”;
str = input.next().toLowerCase();
// 转换成字符串
i = str.charAt(0);
switch (i) {
case ‘m’:
System.out.println(“Monday\n”); break;
case ‘w’:
System.out.println(“Wednesday\n”);break;
case ‘f’:
System.out.println(“Friday\n”); break;
case ‘t’:
System.out.println(“please enter the next letter:”);
str = input.next().toLowerCase();
j = str.charAt(0);
if (j == ‘u’)
System.out.println(“Tuesday\n”);
else if (j == ‘h’)
System.out.println(“Thursday\n”);
else
System.out.println(“error\n”);
break;
case ‘s’:
System.out.println(“please enter the next letter:”);
// 转换成字符串
str = input.next().toLowerCase();
j = str.charAt(0);
if (j == ‘a’)
System.out.println(“Saturday\n”);
else if (j == ‘u’)
System.out.println(“Sunday\n”);
else
System.out.println(“error\n”);
break;
default:
System.out.println(“error\n”);
break;
}
}
}

  1. 输入一批整数,使用循环求出最大值与最小值,输入0时结束。
    public class Test 3{
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int max = 0, min = 0;
    int nums = 1;
    //输入第一个数,指定它是最大值和最小值
    System.out.println(“请输入1个数:”);
    nums = input.nextInt();
    max = nums;
    min = nums;
    //依次输入其他数字,并判断是否是最大值和最小值
    for (int i = 2; nums != 0; i++) {
    System.out.println(“请输入” +i + “个数:”);
    nums = input.nextInt();
    if (nums != 0) {
    if (nums > max) {
    max = nums;
    }
    if (nums < min) {
    min = nums;
    }
    }
    }
    //输出最大值和最小值
    System.out.println(“最大值为:” + max);
    System.out.println(“最小值为:” + min);
    }
    }

4.给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐。
public class Test4 {
public static void main(String[] args) {
int money = 20, price = 3;
// temp表示每一次购买的可乐瓶数
int temp = 0;
// change表示每次购买完可乐剩下的钱
int change = 0;
// sum表示总的可乐瓶数
int sum = 0;
// 如果钱数大于可乐价格
while (money >= price) {
// 购买可乐
temp = money / price;
// 总可乐瓶数增加
sum += temp;
// 计算买可乐剩下的钱
change = money % price;
// 兑换可乐瓶子,计算剩余的总钱数
money = temp + change;
}
// 输出结果
System.out.println(sum);
}
}

5.从键盘输入某个十进制小数,转换成对应的二进制小数并输出。
public class Test5{
public static void main(String [] args){
//给定一个十进制小数
double d = 0.6666;
//转换
double mul = d;
StringBuffer buffer = new StringBuffer(“0.”);
//定义一个计数器
int count=0;
do{
//乘以2得到积
double result = mul*2;//1.250
//从积中取出整数部分作为二进制位
int i = (int)result;
buffer.append(i);
//计数
count++;
//判断是否够7位
if(count==7){
break;
}
//从积中取出小数部分作为下一次的乘数
mul= result-i;
}while(mul!=0); //判断乘数是否为0
//输出十进制小数和二进制小数
System.out.println(d+"---->"+buffer);
}
}
注意:此题目中使用了StringBuffer,具体内容会在后续章节中介绍。
一、 填空题

  1. switch语句
  2. String
  3. 表达式1
  4. break
  5. continue
  6. (int)(Math.random()*31)+30

二、 选择题

  1. B
  2. A
  3. BD
  4. D
  5. B
  6. B
  7. A
  8. D
  9. D
  10. B

三、 判断题

  1. ×
  2. ×

四、 简答题

答案略

五、 编码题

  1. 输入一个数,判断是奇数还是偶数
    public class TestNum {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    //输入一个数
    System.out.println(“请输入你要判断的数据:”);
    int x = input.nextInt();
    //判断一个数据是奇数还是偶数
    if(x%2 == 0) {
    System.out.println(x+“这个数据是偶数”);
    }else {
    System.out.println(x+“这个数据是奇数”);
    }
    }
    }

  2. 根据成绩输出对应的等级,使用if多分支和switch语句分别实现。
    public class TestGrade1 {
    public static void main(String[] args) {
    // 给出分数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个分数”);
    double score = input.nextDouble();
    // 根据分数,给出等级
    String grade;
    if (score >= 90) {
    grade = “A”;
    } else if (score >= 80) {
    grade = “B”;
    } else if (score >= 70) {
    grade = “C”;
    } else if (score >= 60) {
    grade = “D”;
    } else {
    grade = “E”;
    }
    // 输出等级
    System.out.println(“score=” + score + “,grade=” + grade);
    }
    }
    public class TestGrade2 {
    public static void main(String[] args) {
    // 给出分数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个分数”);
    int score = input.nextInt();
    //根据分数,给出等级
    String grade=“E”;
    switch(score/10){
    case 10:
    case 9:grade=“A”;break;
    case 8:grade=“B”;break;
    case 7:grade=“C”;break;
    case 6:grade=“D”;break;
    default :grade=“E”;
    }
    //输出等级
    System.out.println(“score=”+score+",grade="+grade);
    }
    }

  3. 根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
    public class TestSeason {
    public static void main(String[] args) {
    // 输入月份
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入月份:”);
    int month = input.nextInt();
    //根据月份输出季节
    switch(month){
    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;
    default: System.out.println(“您的输入有误”);
    }
    }
    }

  4. 判断一个数是否是素数。
    public class TestPrime {
    public static void main(String[] args) {
    // 输入一个数
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入一个数:”);
    int n = input.nextInt();
    // 判断是否是素数
    boolean flag = true;
    if (n == 1)
    flag = false;
    else {
    for (int i = 2; i < n; i++) {
    if (n % i== 0) {
    flag = false;
    break;
    }
    }
    }
    // 输出结果
    if (flag) {
    System.out.println(n + “是素数”);
    } else {
    System.out.println(n + “不是素数”);
    }
    }
    }
    5.从键盘输入一个班5个学生的分数,求和并输出。
    public class TestSum {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    //输入总分并求和
    double sum = 0;
    for (int i = 0; i < 5; i++) {
    System.out.println(“请输入第”+(i+1)+“个学生的成绩”);
    double d = input.nextDouble();
    sum += d;
    }
    //输出总分
    System.out.println(“总分是”+sum);
    }
    }
    6.从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
    public class Test10to2_1 {
    public static void main(String [] args){
    //给出一个十进制数
    int num2 =6;
    //转换
    int num = num2;
    String str="";
    do{
    //除以2得到商
    int div = num/2;
    //得到余数作为二进制位
    int mod = num%2;
    str = mod + str;
    //商作为被除数
    num = div;
    }while(num!=0);//被除数不是零
    //输出二进制数
    System.out.println(num2+"------>"+str);
    }
    }

六、 可选题

  1. 根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机, 60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。
    要求:该题使用多重if完成
    public class Test 1{
    public static void main(String[] args) {
    int score = 80;
    if (score >= 90) {
    System.out.println(“电脑”);
    } else if (score >= 80) {
    System.out.println(“手机”);
    } else if (score >= 60) {
    System.out.println(“大餐”);
    } else {
    System.out.println(“学习资料”);
    }
    }
    }

2.请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”。
public class Test2{
public static void main(String[] args) {
char i, j;
System.out.println(“please enter the first letter:”);
Scanner input = new Scanner(System.in);
String str = “”;
str = input.next().toLowerCase();
// 转换成字符串
i = str.charAt(0);
switch (i) {
case ‘m’:
System.out.println(“Monday\n”); break;
case ‘w’:
System.out.println(“Wednesday\n”);break;
case ‘f’:
System.out.println(“Friday\n”); break;
case ‘t’:
System.out.println(“please enter the next letter:”);
str = input.next().toLowerCase();
j = str.charAt(0);
if (j == ‘u’)
System.out.println(“Tuesday\n”);
else if (j == ‘h’)
System.out.println(“Thursday\n”);
else
System.out.println(“error\n”);
break;
case ‘s’:
System.out.println(“please enter the next letter:”);
// 转换成字符串
str = input.next().toLowerCase();
j = str.charAt(0);
if (j == ‘a’)
System.out.println(“Saturday\n”);
else if (j == ‘u’)
System.out.println(“Sunday\n”);
else
System.out.println(“error\n”);
break;
default:
System.out.println(“error\n”);
break;
}
}
}

  1. 输入一批整数,使用循环求出最大值与最小值,输入0时结束。
    public class Test 3{
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int max = 0, min = 0;
    int nums = 1;
    //输入第一个数,指定它是最大值和最小值
    System.out.println(“请输入1个数:”);
    nums = input.nextInt();
    max = nums;
    min = nums;
    //依次输入其他数字,并判断是否是最大值和最小值
    for (int i = 2; nums != 0; i++) {
    System.out.println(“请输入” +i + “个数:”);
    nums = input.nextInt();
    if (nums != 0) {
    if (nums > max) {
    max = nums;
    }
    if (nums < min) {
    min = nums;
    }
    }
    }
    //输出最大值和最小值
    System.out.println(“最大值为:” + max);
    System.out.println(“最小值为:” + min);
    }
    }

4.给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐。
public class Test4 {
public static void main(String[] args) {
int money = 20, price = 3;
// temp表示每一次购买的可乐瓶数
int temp = 0;
// change表示每次购买完可乐剩下的钱
int change = 0;
// sum表示总的可乐瓶数
int sum = 0;
// 如果钱数大于可乐价格
while (money >= price) {
// 购买可乐
temp = money / price;
// 总可乐瓶数增加
sum += temp;
// 计算买可乐剩下的钱
change = money % price;
// 兑换可乐瓶子,计算剩余的总钱数
money = temp + change;
}
// 输出结果
System.out.println(sum);
}
}

5.从键盘输入某个十进制小数,转换成对应的二进制小数并输出。
public class Test5{
public static void main(String [] args){
//给定一个十进制小数
double d = 0.6666;
//转换
double mul = d;
StringBuffer buffer = new StringBuffer(“0.”);
//定义一个计数器
int count=0;
do{
//乘以2得到积
double result = mul*2;//1.250
//从积中取出整数部分作为二进制位
int i = (int)result;
buffer.append(i);
//计数
count++;
//判断是否够7位
if(count==7){
break;
}
//从积中取出小数部分作为下一次的乘数
mul= result-i;
}while(mul!=0); //判断乘数是否为0
//输出十进制小数和二进制小数
System.out.println(d+"---->"+buffer);
}
}
注意:此题目中使用了StringBuffer,具体内容会在后续章节中介绍。

猜你喜欢

转载自blog.csdn.net/weixin_44071260/article/details/85105881