长春大学20级第十二周第一次上机(5月17号)

(一)题目描述

给一个不多于5位的正整数。

(1)求它是几位数

(2)逆序打印出各位数字

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个不多于5位的正整数:");
        int num = sc.nextInt();
        String str = String.valueOf(num);
        System.out.println("它是" + str.length() + "位数");
        char[] nums = str.toCharArray();
        System.out.print("逆序打印为:");
        for(int i = str.length()-1 ; i >= 0 ; i--)
        {
            System.out.print(nums[i]);
        }
    }
}

(二)题目描述

编写一个类并验证它是否有效,该类包含一 维数组成员变量、完成数组的赋值与输出。

class test{
    int[] nums = new int[5];
}
public class Main{
    public static void main(String[] args) {
        test t = new test();
        for (int i = 0; i < t.nums.length; i++) {
            t.nums[i] = i;
        }
        for (int i = 0; i < t.nums.length; i++) {
            System.out.println(t.nums[i]);
        }
    }
}

题目描述

实现一个工资查询的程序。

工资查询人员一共包含三类:项目经理(Manager) 、高级程序员(SeniorProgrammer)、程序员(Programmer)
其中每月基础工资为5000元。高级程序员和项目经理在基础工资的基础上有5000员的绩效工资,同时,每月项目经理有5000元的奖金。

在以上程序的基础上增加额外加班费的计算,每月约计28天,其中正常工作日为20天,其中8天是公共休息日。
输入加班天数(小于等于8天),将 总月薪给输出出来。其中加班费:项目经理800元/天,高级程序员500元/天,程序员200员/天。

interface Factory{
    int searchSalary(String position);
    int workTime(int day, String position);
}
class Manager implements Factory{
    @Override
    public int searchSalary(String position){
        int salary = 15000;
        System.out.println(position + "正常的工资为: " + salary);
        return salary;
    }
    @Override
    public int workTime(int day, String position){
        int salary = 15000;
        int final_salary = salary + 800 * day;
        System.out.println(position + "加班后的工资为: " + final_salary);
        return final_salary;
    }
}
class SeniorProgrammer implements Factory{
    @Override
    public int searchSalary(String position){
        int salary = 10000;
        System.out.println(position + "正常的工资为: " + salary);
        return salary;
    }
    @Override
    public int workTime(int day, String position){
        int salary = 10000;
        int final_salary = salary + 500 * day;
        System.out.println(position + "加班后的工资为: " + final_salary);
        return final_salary;
    }
}
class Programmer implements Factory{
    @Override
    public int searchSalary(String position){
        int salary = 5000;
        System.out.println(position + "正常的工资为: " + salary);
        return salary;
    }
    @Override
    public int workTime(int day, String position){
        int salary = 5000;
        int final_salary = salary + 200 * day;
        System.out.println(position + "加班后的工资为: " + final_salary);
        return final_salary;
    }
}

class FactoryImpl{
    public void useBegin(Factory fac,String position) {
        fac.searchSalary(position);
    }
    public void useFinal(Factory fac,int day, String position) {
        fac.workTime(day, position);
    }
}
public class Main {
    public static void main(String[] args) {
        FactoryImpl f = new FactoryImpl();
        f.useBegin(new Manager(), "项目经理");
        f.useFinal(new Manager(), 6, "项目经理");
        f.useBegin(new SeniorProgrammer(), "高级程序员");
        f.useFinal(new SeniorProgrammer(), 7, "高级程序员");
        f.useBegin(new Programmer(), "程序员");
        f.useFinal(new Programmer(), 8, "程序员");
    }
}

(四)题目描述

利用接口做参数,写个计算器,能完成加减乘除运算。

interface Computer{
    int computer(int n, int m);
}
class Add implements Computer{
    @Override
    public int computer(int n, int m) {
        int value = n + m;
        System.out.println("n + m = " + value);
        return value;
    }
}
class Sub implements Computer{
    @Override
    public int computer(int n, int m) {
        int value = n - m;
        System.out.println("n - m = " + value);
        return value;
    }
}
class Multiply implements Computer{
    @Override
    public int computer(int n, int m) {
        int value = n * m;
        System.out.println("n * m = " + value);
        return value;
    }
}
class Divide implements Computer{
    @Override
    public int computer(int n, int m) {
        if(m != 0) {
            int value = n / m;
            System.out.println("n / m = " + value);
            return value;
        }else {
            System.out.println("分母不能为零");
            return 0;
        }
    }
}
class UseCompute{
    public UseCompute(int n, int m) {
        System.out.println("n的值为:" + n + ",m的值为:" + m);
    }
    public void useCom(Computer com, int n, int m) {
        com.computer(n, m);
    }
}
public class Main {
    public static void main(String[] args) {
        UseCompute uc = new UseCompute(20, 10);
        uc.useCom(new Add(), 20, 10);
        uc.useCom(new Sub(), 20, 10);
        uc.useCom(new Multiply(), 20, 10);
        uc.useCom(new Divide(), 20, 10);
    }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小成同学_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值