Java简单案例练习

目录

题目1:编写java程序,在控制台输出以下两句话

题目2:用户输入(姓名, 年龄, 性别, 身高, 婚姻状况) 并在控制台打印

题目3:编写java程序,通过键盘录入一个三位数的整数,获取该数字上的每一位数字,并且输出。最后再求这三个数字之和输出

题目4:通过键盘输入一个年龄,使用if语句对年龄进行判断。如果年龄大于等于18,则输出:恭喜,您已经成年了!

题目5:键盘录入学生考试成绩,判断学生等级:

题目6:中国使用的公历有闰年的说法,闰年的规则是:四年一闰,百年不闰,四百年再闰。

题目7:需求 : 假设一个简单的在ATM的取款过程如下:

题目8:需求 : 按照从小到大的顺序输出四位数中 (个位 + 百位 = 十位 + 千位 ) 的数字及个数 , 要求使用while循环完成

题目9:某电信客服服务满意度反馈信息如下:

题目10:模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果。

题目11:需求:定义一个长度为5的一维数组,给每个元素赋值. (要求数组中每个元素的值是20-80的随机数)

题目12:需求:键盘录入一个整数作为数组的长度,随后再次键盘录入数据并将数组存满

题目13:需求:某超市在去年4个季度的营业额(单位万元)

题目14:请定义一个方法,该方法可以实现对int类型的数组进行遍历,在控制台打印所有元素。实现方法后,请在主方法中调用方法,查看结果。

题目15:定义标准的项目经理类Manager

题目16:创建一个长度为6的整数数组。请编写代码,随机生成六个0(包含)-100(不包含)之间的整数存放到数组中,然后计算出数组中所有元素的和并打印。

题目:17有一个数组,其中有十个元素从小到大依次排列 {12,14,23,45,66,68,70,77,90,91}。

题目:18请定义一个方法,该方法的功能是在控制台打印九九乘法表。方法实现完毕,请在主方法中调用方法,查看打印结果



题目1:编写java程序,在控制台输出以下两句话

不肯下一点功夫,永远不会明白自己从何而来,又将立足于何处。

很多聪明人之所以没有成功,缺少的不是智慧,而是那种为成功而拼搏的干劲 。

public class demo01 {
    public static void main(String[] args) {
        System.out.println("不肯下一点功夫,永远不会明白自己从何而来,又将立足于何处");
        System.out.println("很多聪明人之所以没有成功,缺少的不是智慧,而是那种为成功而拼搏的干劲 。");
    }
}

题目2:用户输入(姓名, 年龄, 性别, 身高, 婚姻状况) 并在控制台打印

//导包
import java.util.Scanner;

public class demo01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
//        提示用户输入相应的数据
        System.out.println("请输入您的姓名:");
        String name = sc.next();
        System.out.println("请输入您的年龄:");
        int age = sc.nextInt();
        System.out.println("请输入您的性别:");
        String sex = sc.next();
        System.out.println("请输入您的身高:");
        double heigth = sc.nextDouble();
        System.out.println("您是否结婚(true/false)");
        Boolean flag = sc.nextBoolean();

        System.out.println("您的姓名是:" + name);
        System.out.println("您的年龄是:" + age);
        System.out.println("您的性别是:" + sex);
        System.out.println("您的身高是:" + heigth);
        System.out.println("您是否结婚?" + flag);

    }
}

题目3:编写java程序,通过键盘录入一个三位数的整数,获取该数字上的每一位数字,并且输出。最后再求这三个数字之和输出

//导包
import java.util.Scanner;

public class demo01 {
//    编写java程序,通过键盘录入一个三位数的整数,获取该数字上的每一位数字,并且输出。最后再求这三个数字之和输出。
    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个三位数:");
        int num = sc.nextInt();

//        计算出 三位数 中的每一位
        int ge = num % 10;
        int shi = num / 10 % 10;
        int bai = num / 100;

        System.out.println("个位上的数是" + ge);
        System.out.println("十位上的数是" + shi);
        System.out.println("百位上的数是" + bai);
//        求和
        System.out.println("这三位数的和是" + (ge + shi + bai));
    }
}

题目4:通过键盘输入一个年龄,使用if语句对年龄进行判断。如果年龄大于等于18,则输出:恭喜,您已经成年了!

//导包
import java.util.Scanner;

public class demo01 {

    public static void main(String[] args) {
//                /通过键盘输入一个年龄,使用if语句对年龄进行判断。如果年龄大于等于18,则输出:恭喜,您已经成年了!
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的年龄:");
        int age = sc.nextInt();
        
//        进行判断
        if( age >= 18){
            System.out.println("恭喜,您已经成年了!");
        }
    }
}

题目5:键盘录入学生考试成绩,判断学生等级:

(90-100) 优秀  (80-89) 好 (70-79)良  (60-69)及格 (60以下) 不及格

//导包
import java.util.Scanner;

public class demo01 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入成绩:");
        // 1. 键盘录入学生成绩
        int score = sc.nextInt();

        // 2. 判断成绩是否在0-100之间
        if (score >= 0 && score <= 100) {

            // 3. 根据成绩所在的区间判断, 程序给出不同的结果
            if (score >= 90 && score <= 100) {
                System.out.println("优秀");
            } else if (score >= 80 && score <= 89) {
                System.out.println("好");
            } else if (score >= 70 && score <= 79) {
                System.out.println("良");
            } else if (score >= 60 && score <= 69) {
                System.out.println("及格");
            } else {
                System.out.println("不及格");
            }

        } else {
            System.out.println("您的输入有误, 请检查成绩是否在0~100之间");
        }

    }
}

题目6:中国使用的公历有闰年的说法,闰年的规则是:四年一闰,百年不闰,四百年再闰。

(年份能够被4整除但不能被100整除算是闰年,年份能被400整除也是闰年).

请打印出1988年到2020年的所有闰年年份

  public static void main(String[] args) {
//        中国使用的公历有闰年的说法,闰年的规则是:四年一闰,百年不闰,四百年再闰。
//        (年份能够被4整除但不能被100整除算是闰年,年份能被400整除也是闰年).
//        请打印出1988年到2020年的所有闰年年份


        // 1、定义for循环,循环变量开始是1988,结束是2020.
        for (int year = 1988; year <= 2020; year++) {
            // 2、在循环中对年份进行判断,判读条件为:可以被4整除,并且不可以被100整除 , 或者可以被400整除.
            if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
                //  3、如果符合条件,输出该年份.
                System.out.println(year + "是闰年");
                
            }
        }
    }
}

题目7:需求 : 假设一个简单的在ATM的取款过程如下:

  • 提示用户输入金额(money)

  • ATM只能输出100元的纸币一次取钱数要求最低0元,最高10000元。

  • 如果用户输入的金额符合上述要求,则打印输出用户取的钱数

  • 如果输入的取款金额有误, 请给出提示并继续录入, 直到用户输入正确为止

public class Test2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 1. 键盘录入用户取款金额
        System.out.println("请输入您的取款金额");

        // 3. 将输入金额 + 判断的代码使用无限循环包裹
        while (true) {
            int money = sc.nextInt();
            // 2. 判断用户的金额是否是 0 ~ 1000 之间, 并且是否能被100整除.
            if (money >= 0 && money <= 1000 && money % 100 == 0) {
                System.out.println("请取走您的现金:" + money);
                    // 4. 取走现金后, 结束无限循环
                break;
            } else {
                System.out.println("输入错误, 请重新输入:");
            }
        }
    }
}

题目8:需求 : 按照从小到大的顺序输出四位数中 (个位 + 百位 = 十位 + 千位 ) 的数字及个数 , 要求使用while循环完成

举例 : 3553 , 2332 , 1166 , 2233

public class Test3 {
    public static void main(String[] args) {
        // 1 定义统计变量 , 记录满足要求的数据的个数
        int count = 0;

        // 2 通过while循环拿到1000-9999之间所有的数据
        int num = 1000;
        while (num <= 9999) {
            // 3 拿到四位数中个位十位百位千位的数据
            int ge   = num % 10;
            int shi  = num / 10 % 10;
            int bai  = num / 10 / 10 % 10;
            int qian = num / 10 / 10 / 10 % 10;
            // 4 通过if语句判断 , 四位数是否 个位 + 百位 = 十位 + 千位
            if (ge + bai == shi + qian) {
                // 5 满足要求 , 打印这个四位数 , 并且统计变量自增
                System.out.println(num);
                count++;
            }
            num++;
        }

        // 6 循环结束之后 , 打印满足要求的元素的个数
        System.out.println("满足要求的数据个数为:" + count + "个");
    }
}

题目9:某电信客服服务满意度反馈信息如下:

1表示非常满意

2表示基本满意

3表示不满意

4表示非常不满意

其他数字表示输入有误

请编写程序,通过键盘录入满意度数字,输出相应的满意度信息。

import java.util.Scanner;
public class SwitchTest01 {
    public static void main(String[] args) {
        // 1、键盘录入满意度数字
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入满意度,从1-4满意度依次降低:");
        int num = sc.nextInt();
        // 2、使用switch语句对num进行判断
        switch (num) {
            case 1:
                System.out.println("非常满意");
                break;
            case 2:
                System.out.println("基本满意");
                break;
            case 3:
                System.out.println("不满意");
                break;
            case 4:
                System.out.println("非常不满意");
                break;
            default:
                System.out.println("输入有误");
                break;
        }
    }
}

题目10:模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果。

要求:

键盘录入三个整数,其中前两个整数代表参加运算的数据,第三个整数为要进行的运算(1:表示加法运算,2:表示减法运算,3:表示乘法运算,4:表示除法运算),运行效果如下:

// 1.导包
import java.util.Scanner;
public class SwitchTest02 {
    public static void main(String[] args) {
        // 2.创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        // 3.提示需要输入的数据,并调用方法获取输入的数据
        System.out.println("请输入第一个整数:");
        int num1 = sc.nextInt();
        System.out.println("请输入第二个整数:");
        int num2 = sc.nextInt();
        System.out.println("请输入您要进行的运算(1:表示加法,2:表示减法,3:表示乘法,4:表示除法)");
        int type = sc.nextInt();
        // 4.使用switch语句判断计算类型,并输出相应的结果
        switch (type) {
            case 1:
                System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
                break;
            case 2:
                System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));
                break;
            case 3:
                System.out.println(num1 + " * " + num2 + " = " + (num1 * num2));
                break;
            case 4:
                System.out.println(num1 + " / " + num2 + " = " + (num1 * 1.0 / num2));
                break;
            default:
                System.out.println("您输入的运算类别有误");
                break;
        }
    }
}

题目11:需求:定义一个长度为5的一维数组,给每个元素赋值. (要求数组中每个元素的值是20-80的随机数)

遍历数组打印每个元素的值

import java.util.Random;

public class Demo {
    public static void main(String[] args) {
        int[] arr = new int[5];
        Random r = new Random();
        for (int i = 0; i < arr.length; i++) {
//            将随机数 给 数组中的每一个值
            arr[i] = r.nextInt(61)+20;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

题目12:需求:键盘录入一个整数作为数组的长度,随后再次键盘录入数据并将数组存满

从数组中找出最小值,并将最小值打印在控制台

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请定义数组长度:");
        int num = sc.nextInt();
        int[] arr = new int[num];
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第" +(i + 1) +"个值");
            arr[i] = sc.nextInt();
        }
//        最小值
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
//            System.out.println();
            if(min > arr[i]){
                min = arr[i];
            }
        }
        System.out.println(min);
    }
}

题目13:需求:某超市在去年4个季度的营业额(单位万元)

分别是: {11,22,33}, {44,55,66}, {77,88,99}, {11,22,33}请使用所学的二维数组技术,帮该超市统计出每个季度的总营业额 和 总营业额并输出在控制台

public class Demo02 {
    public static void main(String[] args) {
        int[][] arr = {
                {11,22,33},
                {44,55,66},
                {77,88,99,},
                {11,22,33}
        };
        int year = 0;
        for (int i = 0; i < arr.length; i++) {
            int ji = 0;
            for (int j = 0; j < arr[i].length; j++) {
                year += arr[i][j];
                ji += arr[i][j];
            }
            System.out.println("第" + (i + 1) + "个季度营业额为:" + ji);
        }
        System.out.println("总营业额为:" + year );
    }
}

题目14:请定义一个方法,该方法可以实现对int类型的数组进行遍历,在控制台打印所有元素。实现方法后,请在主方法中调用方法,查看结果。

例如,数组为{11, 22, 33},打印格式为:[11, 22, 33]

public class Demo03 {
    public static void main(String[] args) {
        int[] arr = {11,22,33};
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if(arr.length - 1 == i){
                System.out.print(arr[i]);
            }else {
                System.out.print(arr[i]+ ",");
            }
        }
        System.out.print("]");
    }
}

题目15:定义标准的项目经理类Manager

类中包含属性 : 姓名(String类型) , 工号(String类型) , 工资(int类型)

类中包含方法 : 工作的方法 work()

要求 :

  1. 按照以上要求定义Manager类 , 属性要求私有 , 生成空参、有参构造,setter和getter方法

  2. 定义测试类,在main方法中创建该类的对象并给属性赋值(使用setXxx方法进行给对象赋值)

  3. 通过项目经理类对象,调用工作的方法 , 打印以下内容           工号为2004314基本工资为20000项目经理曹操正在努力的做着管理工作,分配任务,盯着程序员写代码...

Manager类

public class Manager {
    private String name;
    private String jobNumber;
    private int salary;

//    无参构造

    public Manager() {
    }

//    满参构造

    public Manager(String name, String jobNumber, int salary) {
        this.name = name;
        this.jobNumber = jobNumber;
        this.salary = salary;
    }

    //    getter setter

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getJobNumber() {
        return jobNumber;
    }

    public void setJobNumber(String jobNumber) {
        this.jobNumber = jobNumber;
    }

    public int getSalary() {
        return salary;
    }

    public void setSalary(int salary) {
        this.salary = salary;
    }

    public void work(){
        System.out.println("正在努力的做着管理工作,分配任务,盯着程序员写代码...");
    }

}

测试类

public class DemoManager {
    public static void main(String[] args) {
        Manager m1 = new Manager();
        m1.setJobNumber("2004314");
        m1.setName("曹操");
        m1.setSalary(2000);

        System.out.print("工号为" + m1.getJobNumber() + "基本工资为" + m1.getSalary() + "项目经理" + m1.getName());
        m1.work();

    }
}

题目16:创建一个长度为6的整数数组。请编写代码,随机生成六个0(包含)-100(不包含)之间的整数存放到数组中,然后计算出数组中所有元素的和并打印。

public class Demo04 {
    public static void main(String[] args) {
        Random r = new Random();
        int[] arr = new int[6];
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            arr[i] = r.nextInt(100);
        }

        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
            System.out.println(arr[i]);
        }
        System.out.println(sum);
    }
}

题目:17有一个数组,其中有十个元素从小到大依次排列 {12,14,23,45,66,68,70,77,90,91}。

再通过键盘录入一个整数数字。要求:把数字放入数组序列中,生成一个新的数组,并且数组的元素依旧是从小到大排列的。

public class Demo6 {
    public static void main(String[] args) {        
		//1.定义长度为10的原数组
        int[] arr = {12,14,23,45,66,68,70,77,90,91};
        //2.定义长度为11的空数组
        int[] brr = new int[11];
        //3.键盘录入数组
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数数字");
        int num = sc.nextInt();
        //4.定义变量代表要插入的位置
        int index = 0;
        //5.循环遍历原数组
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] <= num) {
                //5.1如果元素小于等于要插入的数字,则直接存放
                brr[i] = arr[i];
                //5.2把i后面的位置记录下来
                index = i + 1;
            }else{
                //5.3如果元素大于要插入的数字,则往后一个位置存放
                brr[i+1] = arr[i];
            }
        }
        //6.index存储的就是要插入的位置
        brr[index] = num;
        //7.遍历新数组查看结果
        System.out.print("生成的新数组是:");
        for (int i = 0; i < brr.length; i++) {
            System.out.print(brr[i] + " ");
        }
    }
}

题目:18请定义一个方法,该方法的功能是在控制台打印九九乘法表。方法实现完毕,请在主方法中调用方法,查看打印结果

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

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

華同学.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值