本文共 4157 字,大约阅读时间需要 13 分钟。
接下来是以下内容的优化版本:
给一个不多于5位的正整数。
将输入的数字转换为字符串,计算其长度即可确定位数。
将字符串转换为字符数组,从末尾开始遍历,依次输出字符即可得到逆序结果。
编写一个类并验证它是否有效,该类包含一个维数组成员变量,完成数组的赋值与输出。
class test { int[] nums = new int[5];} 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]);} 实现一个工资查询的程序,支持三类员工:项目经理、 高级程序员、 程序员。
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); }} 转载地址:http://bzhfk.baihongyu.com/