JAVA语言实验 :实验 ( 一 )

JAVA语言实验 :实验 ( 一 )
JAVA语言实验 :实验 ( 二 )
JAVA语言实验 :实验 ( 三 )

一、实验目的

(1)掌握开发 Java 应用程序的步骤,掌握 Java 应用程序的基本结构。
(2)掌握 Java 基本数据类型在命令行的输入和输出方法。
(3)熟悉如何使用 Java 分支和循环语句解决问题。
(4)熟悉类的基本设计方法,根据 Java 类的继承机制有效解决问题

二、实验任务

实验任务一

编写一个 Java 应用程序,在主类的 main 方法中实现下列功能。
• 程序随机分配给用户一个 1 至 100 之间的整数
• 用户通过键盘输人自己的猜测
• 程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对了”
• 用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”
• 用户猜对以后,显示猜测次数,并提供“重新开始”和“退出”功能

import java.util.Random;
import java.util.Scanner;

public class gussNumber {
    public static void main(String[] args) {
        guessNumberGame();
        //游戏入口

    }
     //游戏选项
    public static void guessNumberGame() {
        //
        while (true) {
            int choice = menu();
            if (choice == 1) {
               game();
            } else if (choice == 0) {
                System.out.println("结束");
                break;
            } else {
                System.out.println("退出...");
            }
        }
    }
    //游戏实现
    public static void game() {
        Random random = new Random();//获取随机数
        int toGuess = random.nextInt(100) + 1;
        Scanner scanner = new Scanner(System.in);
        int sum=0;
        while (true) {
            System.out.println("请输入你猜测的数:");
            int num = scanner.nextInt();
            sum++;
            if (num > toGuess) {

                System.out.println("猜大了");
            } else if (num < toGuess) {
                System.out.println("猜小了");
            } else {
                System.out.println("恭喜你,猜对了!");
                System.out.println("猜测次数:"+sum);
                break;
            }
        }
    }

    //游戏菜单
    public static int menu() {
        System.out.println("  1、play/replay      0、exit   ");
        System.out.println("请输入您的选择:");
        Scanner scanner = new Scanner(System.in);
        int choice = scanner.nextInt();
        return choice;
    }
}

实验任务二

假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类
型的雇员按不同的方式支付工资:
• 经理(Manager):每月获得一份固定的工资
• 销售人员(Salesman):在基本工资的基础上每月还有销售提成
• 工人(Worker):按照每月工作的天数计算工资
根据上述要求试用类的继承和相关机制描述这些功能,并编写一个 Java 应用程序,演示这些
类的用法。

public class Main {
    public static void main(String[] args) {
//        经理(Manager):每月获得一份固定的工资
//• 销售人员(Salesman):在基本工资的基础上每月还有销售提成
//• 工人(Worker):按照每月工作的天数计算工资


        System.out.println("经理固定工资:30000");
        System.out.println("销售基础工资3330,提成344");
        System.out.println("员工每日工资100");
        Employee temp = new Manager(30000);
        temp.allSalary();
        temp = new Salesman(3330,344);
        temp.allSalary();
        System.out.println("工人工作23天");
        temp = new Worker(23,100);//2300
        temp.allSalary();
    }
}
 abstract class Employee {
    /*抽象类
     * */
    private int salary;

    public Employee(int salary) {
        this.salary = salary;
    }

    public int getSalary() {
        return salary;
    }

    public void setSalary(int salary) {
        this.salary = salary;
    }
    public abstract void allSalary();
}
 class Manager extends Employee{
    public Manager(int salary){
        super(salary);
    }
    public void allSalary() {
        System.out.println("经理工资:"+this.getSalary());
    }
}
 class Salesman extends Employee{
    private int bound;//提成
    private int base;//基础工资
    public Salesman(){
        super(0);
    }
    /*初始化基础工资和提成
     * */
    public Salesman( int base,int bound){
        super(0);
        this.base =base;
        this.bound =bound;
    }

    public void allSalary() {
        this.setSalary(this.base+this.bound);//
        System.out.println("销售工资:"+this.getSalary());
    }
}

 class Worker extends Employee{
    private int day;
    private int daySalary;

    public int getDay() {
        return day;
    }

    public int getDaySalary() {
        return daySalary;
    }
    public void setDay(int day){
        this.day = day;
    }
    public void setDaySalary(int daySalary){
        this.daySalary = daySalary;
    }


    public Worker(){
        super(0);
    }
    public Worker(int day,int daySalary){
        super(0);
        this.day = day;
        this.daySalary =daySalary;
    }
    public void allSalary(){
        this.setSalary(this.getDay()*this.getDaySalary());
        System.out.println("工人员工:"+this.getSalary());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值