Java基础编程机试题

Java基础编程机试题

七道比较基础的java编程题目,附有答案,对于初学者,要先自己思考后,有疑问再看看答案。

第一题(10分)

(1)110元,洗剪吹31元,可以多少次洗剪吹?最后还剩多少?

(2)一次剪头发15元和一次洗头20元,平均每次消费多少钱?

 

第二题(15分)

打印九九乘法表

 

第三题(15分)

编写万用表程序

1 电压挡

2 电流挡

3 电阻档

4 其他档位

5 退出

 

 

第四题(15分)

编写三个方法,分别得出一个数组的最大值,最小值,平均值。

  

第五题(15分)

接收用户输入的5门功课并且,计算平均分。

给用户评级60-80良,81-90好,91-100优秀。

  

第六题(15分)

创建宠物类(属性:名字 ,体重 方法: 奔跑,捕食)在DEMO类实例化宠物,设置名字,调用奔跑,捕食方法

  

第七题(15分)

创建一个面积类,可以计算长方形,圆形的面积。并在DEMO类测试,计算长方形面积,圆的面积。

 

 

答案解析

 

第一题:

packagecom.xykj.Test1;
public class Test1{
    /****
     * 第一题(1)110元,洗剪吹31元,可以多少次洗剪吹?最后剩下多少钱?
     *          (2)一次剪头15元一次洗头20元,平均每次消费多少钱?
     * */
    public static voidmain(String[] args) {
       double AllMoney =110;
       double costOne = 31;
       int costTimes = (int) (AllMoney / costOne);// 可以洗剪吹的次数
       double costAtlast = AllMoney % costOne;// 剩下的钱数
       System.out.println("110元,洗剪吹31元,可以" + costTimes + "次洗剪吹,最后剩下"
              + costAtlast + "钱");
       double costAvg =(15d + 20d) / 2d;// 平均每次消费钱数
       System.out.println("一次剪头15元一次洗头20元,平均每次消费" + costAvg);
    }
 
}

 

第二题:

packagecom.xykj.Test2;
public class Test2{
    /****
     * 第二题打印9*9乘法表
     * */
    public static voidmain(String[] args) {
       for (int i = 1; i <=9; i++) {
           for (int j = 1; j <=i; j++) {
              System.out.print(j + "*" + i + "=" + j * i + "\t");
           }
           System.out.println();
       }
    }
}

 

第三题:

packagecom.xykj.Test3;
import java.util.Scanner;
public class Test3{
   /****
    * 第三题      编写万用表程序1电压档 2电流档 3电阻档 4其他档位 5退出
    * */
    public static voidmain(String[] args) {
       System.out.println("\t欢迎使用文志万能表\t");
       Scanner scanner = newScanner(System.in);
       System.out.println("请选择档位:1电压档  2电流档   3电阻档  4其他档位  5退出  ");
       String input = scanner.next();// 获取用户输入的选择
 
       // 过滤无效的选择
       while (!input.equals("1")&& !input.equals("2") && !input.equals("3")
              && !input.equals("4")&& !input.equals("5")) {
           System.out.println("请输入有效的选择:");
           input = scanner.next();// 获取用户输入的选择
       }
       // 判断选择
       switch (input) {
       case "1":
           System.out.println("你选择了电压档");
           break;
       case "2":
           System.out.println("你选择了电流档");
           break;
       case "3":
           System.out.println("你选择了电阻档");
           break;
       case "4":
           System.out.println("你选择了其他档");
           break;
       case "5":
           System.out.println("谢谢您的使用!");
           break;
       }
       scanner.close();
    }
}

 

第四题:

packagecom.xykj.Test4;
public class Test4{
    /****
     * 第四题    编写三个方法分别求出数组的最大值、最小值、平均值
     * */
    public static voidmain(String[] args) {
       int[] arr = {88, 4, 2, 6, 99, 5 };
 
       // 求最大值的方法,返回数组的最大值
       int max = maxNum(arr);
 
       // 求最小值的方法,返回数组的最小值
       int min = minNum(arr);
 
       // 求平均值的方法,返回数组的最平均值(double类型)
       double avg = avgNum(arr);
 
       System.out.println("最大的数是:" + max);
       System.out.println("最小的数是:" + min);
       System.out.println("最大的数是:" + avg);
    }
    // 求最大值的实现方法
    private static intmaxNum(int[] arr) {
       int maxNum = 0;// 定义一个最大值
       for (int i = 0; i < arr.length; i++) {
           if (maxNum < arr[i]) {// 遇到比maxNum大的数马上赋值给maxNum,不改变原来的数组
              maxNum = arr[i];
           }
       }
       return maxNum;
    }
    // 求最小值的实现方法
    private static intminNum(int[] arr) {
       int minNum = arr[0];// 定义一个最小值
       for (int i = 0; i < arr.length; i++) {
           if (minNum > arr[i]) {// 遇到比minNum小的数马上赋值给minNum,不改变原来的数组
              minNum = arr[i];
           }
       }
       return minNum;
    }
    // 求平均值的实现方法
    private static doubleavgNum(int[] arr) {
       double sum = 0;// 定义一个数组的总和
       double avgNum = 0;// 定义一个平均值值
       for (int i = 0; i < arr.length; i++) {
           sum += arr[i];// 数组的值累加
       }
       avgNum = sum / arr.length;
       return avgNum;
    }
}

 

第五题:

package com.xykj.Test5;
import java.util.Scanner;
public class Test5{
    /****第五题
     * (1)接收用户输入的5门功课并计算平均分(2)给用户评级 60-80良 81-90好 91-100优秀
     * */
    public static voidmain(String[] args) {
       Scanner scanner = newScanner(System.in);
       double arr[] = new double[5];// 定义一个数组存放成绩
       double sum = 0;// 定义分数总和值
       double avg = 0;// 定义平均分值
       System.out.println("请输入5门功课的成绩");
       for (int i = 0; i <5; i++) {
           System.out.print("请输入" + (i + 1)+ "第门成绩:");
           arr[i] = scanner.nextDouble();
           sum += arr[i];// 累加分数
       }
       avg = sum / arr.length;// 求得平均分值
       String rank = avg >=91 ? "优秀" : (avg >=81 ? "好" : (avg >=60) ? "良"
              : "");
       System.out.println("五门科目的平均分是:" + avg + "\t评级为:" + rank);
       scanner.close();
    }
}
 

第六题:(这题有两个java文件)

第一个:封装属性和方法

packagecom.xykj.Test6;
public classTest6_Pet {
    /****第六题
     *  创建宠物类(属性:名字,体重方法:奔跑,捕食)
     *  在Demo类实例化宠物,设置名字,调用奔跑,捕食方法
     * */
    privateString name = "";// 名字
    private double weight = 0;// 体重
    // 奔跑的方法:
    void run(){
       System.out.println("我在奔跑,速度七十迈~~");
    }
    // 捕食的方法
    voidcatchFood() {
       System.out.println("我在捕食!");
    }
    // name 和 weight 的get和set方法
    publicString getName() {
       return name;
    }
    public voidsetName(String name) {
       this.name = name;
    }
    public doublegetWeight() {
       return weight;
    }
    public voidsetWeight(double weight) {
       this.weight = weight;
    }
}

 

第二个:调用者

packagecom.xykj.Test6;
public classTest6_Demo {
    /****第六题
     *  创建宠物类(属性:名字,体重方法:奔跑,捕食)
     *  在Demo类实例化宠物,设置名字,调用奔跑,捕食方法
     * */
    public static voidmain(String[] args) {
       Test6_Pet pet = newTest6_Pet();
       pet.setName("马麒麟");
       pet.setWeight(1000);
       System.out.println("我的宠物:" + pet.getName()+ ",体重:" + pet.getWeight());
       pet.run();// 调用奔跑方法
       pet.catchFood();// 调用捕食方法
    }
}

 

第七题:(这题有3个java文件)

第一个:圆形的属性和方法的封装

packagecom.xykj.Test7;
public classTest7_Circle {
    /****第七题
     *  创建一个面积类,可以计算长方形,圆形的面积
     *  并在Demo类测试,计算长方形的面积,圆形的面积
     * */
    // 圆形面积的计算
    private double radius = 0;// 圆的半径
    publicTest7_Circle(double radius) {// 通过构造方法,获得半径
       this.radius = radius;
    }
    // 获得圆形面积
    doublegetArea() {
       return Math.PI * radius * radius;
    }
}

 

第二个:长方形的属性和方法的封装

packagecom.xykj.Test7;
public classTest7_Rectangle {
   /****第七题
     *  创建一个面积类,可以计算长方形,圆形的面积
     *  并在Demo类测试,计算长方形的面积,圆形的面积
     * */
    //长方形面积的计算
    private double height=0;//高
    private double weight=0;//宽
    public  Test7_Rectangle(double height,double weight) {//通过构造方法获得宽和高
        this.height=height;
        this.weight=weight;
    }
    //获得长方形的面积
    doublegetArea() {
       return height*weight;
    }
}

 

第三个:调用者

packagecom.xykj.Test7;
public classTest7_Demo {
    /****第七题
     *  创建一个面积类,可以计算长方形,圆形的面积
     *  并在Demo类测试,计算长方形的面积,圆形的面积
     * */
    public static voidmain(String[] args) {
       Test7_Circle circle = newTest7_Circle(10);// 实例化圆,并传递半径10
       System.out.println("圆的面积是:" + circle.getArea());
       Test7_Rectangle rectangle = newTest7_Rectangle(10, 10);// 实例化长方形,并传递宽10和高10
       System.out.println("长方形的面积是:" + rectangle.getArea());
    }
}

这是我个人的做法,大致是没什么问题的了,

第七题的话,可能很多人会有不同的想法,比如有些会建一个面积类,用圆形和长方形这两个类分别去继承它,

又或者会有人把圆形和长方形的属性写在一个类里面,个人想法而已,仅供参考。


你可能感兴趣的:(java,java,java基础,java机试题)