语句专项练习

发布时间:2024年01月05日

目录

一.打印图案练习

例题一:

例题二:

例题三:

例题四:

例题五:

例题六:?

二.编写小程序来模拟系统

例题一:模拟注册、登陆操作,若输入密码错误提示还剩可输入的次数

例题二:编写程序模拟实现用户存款、取款、查看余额的操作

三.利用语句来完成一些数学问题

例题一:嵌套循环练习之,编程实现若名学生的5门成绩总和

例题二:计算班级成绩大于80分的人数

例题三:编写程序实现求两个数的最大公约数

例题四:编写程序实现求两个数的最小公倍数


一.打印图案练习

打印图案是我们经常碰到的一类题目,我们学了语句以后就可以利用双重for循环来解决它了。

下面我用一些例题来学习怎么打印图案。

例题一:

package com.feisi103;

public class Text1 {
    public static void main(String[] args) {
        for (int i = 0; i <5 ; i++) {
            for (int j = 0; j < 7; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

?非常基础的一个图形,需要注意的是for循环中i的取值;

例题二:

package com.feisi103;

public class Text2 {
    public static void main(String[] args) {
        for (int i = 0; i <6 ; i++) {
            for (int j = 0; j <i ; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

?这个图形稍微有些变化,我们只需要想想j与i的关系将j的取值变一下即可。

例题三:

package com.feisi103;

public class Test3 {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j <(5-i) ; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

例题四:

package com.feisi103;

public class Test4 {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            for (int k = 0; k <4-i ; k++) {
                System.out.print(" ");
            }
            for (int j = 0; j <i*2+1 ; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

这个有些变化,变化在与需要打印空格,所以我们还需要用一个循环来打印空格

例题五:

package com.feisi103;

public class Text05 {
    public static void main(String[] args) {
        for (int i = 0; i <7; i++) {
           if (i<4)
           {
               for (int k = 0; k < (4-i); k++) {
                System.out.print(" ");}
           }
           if (i>=4)
           {
               for (int l = 0; l <(i-2) ; l++) {
                System.out.print(" ");
            }
           }
            if (i<4)
            {
                for (int j = 0; j <(i*2)+1 ; j++) {
                System.out.print("*");
            }
            }
            if (i>=4)
            {
            for (int m = 0; m <((6-i)*2)+1; m++) {
                System.out.print("*");
            }
            }
            System.out.println("");
        }
    }
}

这个图形是经上面的图形变化而来的,我用的是整体的思路来打印图形

例题六:?

package com.feisi103;

public class Text06 {
    public static void main(String[] args) {
        for (int i = 0; i <7; i++) {
            if (i<4)
            {
                for (int k = 0; k < (4-i); k++) {
                    System.out.print(" ");}
            }
            if (i>=4)
            {
                for (int l = 0; l <(i-2) ; l++) {
                    System.out.print(" ");
                }
            }
            if (i<4)
            {
                for (int j = 0; j <(i*2)+1 ; j++) {
                    if (j==0||j==(i*2)){
                    System.out.print("*");
                    }else{
                        System.out.print(" ");
                    }
                }
            }
            if (i>=4)
            {
                for (int m = 0; m <((6-i)*2)+1; m++) {
                    if (m==0||m==(6-i)*2){
                    System.out.print("*");
                    }else {
                        System.out.print(" ");
                    }
                }
            }
            System.out.println("");
        }
    }
}

这个图形要注意的是:要打印里面的空格一行最多还只能打印两个*,所以我们就要在循环里加入判断,利用条件判断来打印=;

二.编写小程序来模拟系统

模拟系统是我们以后做系统软件开发是必不可少的

例题一:模拟注册、登陆操作,若输入密码错误提示还剩可输入的次数

package com.feisi103;

import java.util.Scanner;

public class Text09 {
    public static void main(String[] args) {
        boolean c = true;
        while (c=true) {

            Scanner sc = new Scanner(System.in);
            System.out.println("请输入1注册");
            System.out.println("请输入2登录");
            System.out.println("请输入0退出");
            int a = sc.nextInt();

            if (a == 1) {
                Scanner cs = new Scanner(System.in);
                System.out.println("输入你的姓名");
                System.out.println("输入你的电话号码");
                System.out.println("输入你的身份证号");
                String e = cs.next();

            } else if (a == 2) {
                int i =1;
                boolean e = true;

                    Scanner d = new Scanner(System.in);
                    for (i = 1; i <=3; i++) {

                        System.out.println("用户名邹俊恒");
                        System.out.println("输入你的密码");
                        int b = d.nextInt();
                        if (b ==1) {
                            System.out.println("密码正确");
                        } else {
                            System.out.println("你还剩" + (3 - i) + "次");


                        }
                    }



            } else if (a == 0) {
                System.out.println("谢谢使用");
              break;
            } else {
                System.out.println("请重新输入");

            }

        }
    }
}

需要注意的是我们要用一个循环来重复上面的操作,要把输出语句放到循环里面来,

例题二:编写程序模拟实现用户存款、取款、查看余额的操作

package com.feisi103;

import java.util.Scanner;

public class Text13 {
    public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      boolean flag = true;
        double sum = 0;
      while (flag){
          System.out.println("请输入1存款 2取款 3查看余额 0退出");
          int a = sc.nextInt();

switch (a){
    case 1:
    Scanner cs = new Scanner(System.in);
        System.out.println("请输入你需要存款的金额");
    double b = cs.nextDouble();
    sum = sum+b;
        System.out.println("存款成功");
        break;
    case 2:
       Scanner  cc = new Scanner(System.in);
        System.out.println("请输入你取款的金额");
       double c =cc.nextDouble();
       if (sum>=c){
           sum = sum-c;
           System.out.println("取款成功");
       }else {
           System.out.println("余额不足");
       }
        break;
    case 3:
        System.out.println("你的余额为"+sum);
        break;
    case 0:
flag = false;
        break;
    default:
        System.out.println("输入错误");
}
      }
    }
}

这个代码跟上面的代码不同的是要定义一个数来存储数据;?

三.利用语句来完成一些数学问题

例题一:嵌套循环练习之,编程实现若名学生的5门成绩总和

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生的个数:");
        int stuNumber = sc.nextInt();
        double sumScore = 0.0;
        for (int i = 1; i <=stuNumber; i++) {
            for (int j = 1; j <=5; j++) {
                System.out.println("请输入第"+i+"个学生的第"+j+"门成绩");
                double score = sc.nextDouble();
                sumScore+=score;
            }
            System.out.println("第"+i+"个学生的五门成绩总分是:"+sumScore);
        }
    }

例题二:计算班级成绩大于80分的人数

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入班级人数:");
        int number = sc.nextInt();
        int sum = 0;
        for (int i = 1; i <=number ; i++) {
            System.out.println("请输入第"+i+"个学生的成绩");
            double score = sc.nextDouble();
            if(score<80){
                continue;// 如果分数小于80分,直接跳过本次循环,不计算在内
            }
            sum++;
        }
        System.out.println("本班成绩80分以上一共有"+sum+"人");
    }

例题三:编写程序实现求两个数的最大公约数

public static void main(String[] args) {
        int num1 = 12,num2=20;
        int maxNum = num1>num2?num1:num2;
        int maxPubNum = 1;//假设maxPubNum是两个数的最大公约数
        for (int i = 1; i <=maxNum ; i++) {
            if(num1%i==0 && num2%i==0){
                System.out.println(i+"是num1和num2的公约数");
                maxPubNum = i;//因为i是随着循环从小到大在变,因此最后那个公约数就是这两个数的最大公约数
            }
        }
        System.out.println(num1+"和"+num2+"的最大公约数是:"+maxPubNum);
    }

例题四:编写程序实现求两个数的最小公倍数

public static void main(String[] args) {
       int num1=12,num2=20;
       int max=num1>num2?num1:num2;
        for (int i = max; i <=num1*num2 ; i++) {
            if(i%num1==0 && i%num2==0){
                System.out.println(num1+"和"+num2+"的最小公倍数是:"+i);
                break;
            }
        }
    }

文章来源:https://blog.csdn.net/m0_73601916/article/details/135376473
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。