1.假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:
(1)经理(Manager)——每月获得一份固定的工资
(2)销售人员(Salesman)——在基本工资的基础上每月还有销售提成。
(3)一般工人(Worker)——则按他每月工作的天数计算工资。
根据上述要求试用类的继承和相关机制描述这些功能,并编写一个Java Application程序,演示这些类的用法。(提示:应设计一个雇员类(Employee)描述所有雇员的共图特性,这个类应该提供一个计算工资的抽象方法ComputeSalary( ),使得可以通过这个类计算所有雇员的工资。经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的方法,进而给出它的具体实现。)
2.编写一个Java Application程序,实现如下的设计目标:程序运行时自动产生1~100的随机数,接收用户键盘输入数据并给出提示信息,直至猜对。游戏者猜对后,显示猜测次数,并提供“重新开始”和“退出”功能。
package javaacm;
import java.util.*;
import java.io.*;
import java.math.*;
class Employee{
private String name;
private String sex;
private int age;
public Employee(String name,String sex,int age) {
this.setName(name);
this.setSex(sex);
this.age = age;
}
public double ComputeSalary() {return 0;}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
class Manager extends Employee{
private double salary;
public Manager(String name,String sex,int age,double salary) {
super(name,sex,age);
this.salary = salary;
}
public void display() {
System.out.println(getName()+" "+getSex()+" "+ComputeSalary());
}
public double ComputeSalary() {
return salary;
}
}
class Salesman extends Employee{
private int number;
private double baseSalary;
private double percentage;
public Salesman(String name,String sex,int age,int number,double baseSalary,double percentage) {
super(name,sex,age);
this.number = number;
this.baseSalary = baseSalary;
this.percentage = percentage;
}
public void display() {
System.out.println(getName()+" "+getSex()+" "+ComputeSalary());
}
public double ComputeSalary() {
return baseSalary+percentage*number;
}
}
class Worker extends Employee{
private int day;
private double daySalary;
public Worker(String name,String sex,int age,int day,double daySalary) {
super(name,sex,age);
this.day=day;
this.daySalary=daySalary;
}
public double ComputeSalary() {
return daySalary*day;
}
public void display() {
System.out.println(getName()+" "+getSex()+" "+ComputeSalary());
}
}
public class Main {
public static void main(String[] args){
Manager m = new Manager ("Make","male",20,2500);
Salesman s= new Salesman ("Join","male",22,220,1500,0.3);
Worker w= new Worker ("Ary","female",21,110,30);
m.display();
s.display();
w.display();
}
}
package javaacm;
import java.util.*;
import java.math.*;
import java.io.*;
public class Main {
static int get_rand()
{
Random ra= new Random();
int rnum=(ra.nextInt())%(100);
if(rnum<0) rnum+=100;
if(rnum==0) rnum=100;
return rnum;
}
public static void main(String [] argvs)
{
Scanner cin = new Scanner(new BufferedInputStream(System.in));
while(true)
{
int ans=0;
int rnum=get_rand();
while(cin.hasNext())
{
int num=cin.nextInt();
System.out.println(num+" "+rnum);
if(num==rnum)
{
break;
}
else if(num>rnum)
{
ans++;
System.out.println("猜大了!");
}
else
{
ans++;
System.out.println("猜小了!");
}
}
System.out.println("猜对了!猜测次数:"+ans);
System.out.println("1-重新开始 0-退出");
int op=cin.nextInt();
if(op==0) break;
}
}
}
小实验
package javaacm;
import java.util.*;
import java.io.*;
import java.math.*;
public class Main {
public static void main(String[] args)
{
File dir=new File(".");
File files[]=dir.listFiles();
System.out.println(dir);
for(int i=0;i\t"+files[i].getName());
}
}
}
package javaacm;
import java.util.*;
import java.io.*;
import java.math.*;
public class Main {
public static void main(String[] args)
{
Scanner cin = new Scanner(new BufferedInputStream(System.in));
try
{
FileInputStream fis=new FileInputStream("input.txt");
FileOutputStream fos=new FileOutputStream("output.txt");
int read=fis.read();
while(read!=-1)
{
fos.write(read);
read=fis.read();
}
}
catch(IOException e)
{
System.out.println(e);
}
}
}
package javaacm;
import java.util.*;
import java.io.*;
import java.math.*;
class Student
{
private String name;
private int classA,classB,classC;
public Student (String name,int classA,int classB,int classC)
{
this.name=name;
this.classA=classA;
this.classB=classB;
this.classC=classC;
}
public String getName()
{
return name;
}
public int getAverage()
{
return (classA+classB+classC)/3;
}
}
class UnderGraduate extends Student
{
public UnderGraduate(String name,int classA,int classB,int classC)
{
super(name,classA,classB,classC);
}
public void isPass()
{
if(getAverage()>=60)
System.out.println("本科生"+getName()+"的三科平均分:"+getAverage()+",可以拿到学士学位。");
else
System.out.println("本科生"+getName()+"的三科平均分:"+getAverage()+",不可以拿到学士学位。");
}
}
class Graduate extends Student
{
public Graduate(String name,int classA,int classB,int classC)
{
super(name,classA,classB,classC);
}
public void isPass()
{
if(getAverage()>=80)
System.out.println("研究生"+getName()+"的三科平均分为:"+getAverage()+",可以拿到硕士学位。");
else
System.out.println("研究生"+getName()+"的三科平均分为:"+getAverage()+",不能拿到硕士学位。");
}
}
public class Main {
public static void main(String[] args)
{
Scanner cin = new Scanner(new BufferedInputStream(System.in));
UnderGraduate s1=new UnderGraduate("Tom",55,75,81);
Graduate s2=new Graduate("Mary",72,81,68);
s1.isPass();
s2.isPass();
}
}
package javaacm;
import java.util.*;
import java.io.*;
import java.math.*;
class SuperClass
{
int x;
SuperClass()
{
x=3;
System.out.println("in SuperClass:x="+x);
}
void doSomething()
{
System.out.println("in SuperClass.doSomrthing()");
}
}
class SubClass extends SuperClass
{
int x;
SubClass()
{
super();
x=5;
System.out.println("in SubClass:x="+x);
}
void doSomething()
{
super.doSomething();
System.out.println("in SubClass.doSomething()");
System.out.println("super.x="+super.x+"sub.x="+x);
}
}
public class Main {
public static void main(String[] args)
{
Scanner cin = new Scanner(new BufferedInputStream(System.in));
SubClass subC=new SubClass();
subC.doSomething();
}
}
package javaacm;
import java.util.*;
import java.io.*;
import java.math.*;
class Student{
private String studentID;
private String classID;
private String name;
private String sex;
private int age;
public Student(String studentID,String classID,String name,String sex,int age){
this.studentID=studentID;
this.classID=classID;
this.name=name;
this.sex=sex;
this.age=age;
}
public String getStudentID(){
return studentID;
}
public String getClassID(){
return classID;
}
public String getName(){
return name;
}
public String getSex(){
return sex;
}
public int getAge(){
return age;
}
public String toString(){
return "学号:"+getStudentID()+"\n班号:"+getClassID()+"\n姓名:"+getName()+"\n性别:"+getSex()+"\n年龄:"+getAge();
}
}
public class Main {
public static void main(String[] args)
{
Scanner cin = new Scanner(new BufferedInputStream(System.in));
Student s1=new Student("9021","2","Tom","male",20);
System.out.println(s1.toString());
}
}
package aaa;
import java.util.*;
import java.io.*;
import java.math.*;
public class Main {
//Scanner cin = new Scanner(System.in);
public static void main(String[] argvs) {
int i ,j;
for(i=200;i<=300;i++) {
boolean f=true;
for(j=2;j<=Math.sqrt(i);j++) {
if(i%j==0) {
f=false;
break;
}
}
if(f) System.out.print(i+" ");
}
}
}
package aaa;
import java.util.*;
import java.io.*;
import java.math.*;
public class Main {
//Scanner cin = new Scanner(System.in);
public static void main(String[] argvs) {
String s;
double d;
int i;
boolean b=false;
do {
try {
System.out.println("请输入一个浮点数");
BufferedReader cin=new BufferedReader (new InputStreamReader(System.in));
s=cin.readLine();
i=s.indexOf('.');
d=Double.parseDouble(s);
System.out.println(d+"整数部分:"+(long)d);
if(i==-1)
System.out.println(d+"小数部分:0.0");
else {
System.out.println(d+"小数部分:"+Double.parseDouble( ((s.charAt(0)=='-')?"-":"") + "0." + (s.substring(i+1,s.length())) ));
}
b=false;
}
catch(NumberFormatException nfe) {
System.out.println("输入浮点数格式有误。\n");
b=true;
}
catch(IOException ioe) {
b=false;
}
}while(b);
}
}
package aaa;
import java.util.*;
import java.io.*;
import java.math.*;
public class Main {
Scanner cin = new Scanner(System.in);
public static void main(String[] argvs) {
char ch1='\b';
char ch2='\t';
char ch3='\n';
char ch4='\r';
char ch5='\"';
char ch6='\'';
char ch7='\\';
System.out.println("沈阳"+ch1+"师范大学");
System.out.println("沈阳"+ch2+"师范大学");
System.out.println("沈阳"+ch3+"师范大学");
System.out.println("沈阳"+ch4+ch3+"师范大学");
System.out.println(ch5+"沈阳"+"师范大学"+ch5);
System.out.println(ch6+"沈阳"+"师范大学"+ch6);
System.out.println(ch7+"沈阳"+"师范大学"+ch7);
}
}
package aaa;
import java.util.*;
import java.io.*;
import java.math.*;
class Point {
double x,y;
public void setXY(double a,double b) {
x=a;
y=b;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public void display() {
System.out.println("点的当前坐标为"+"("+x+","+y+")");
}
}
public class Main {
Scanner cin = new Scanner(System.in);
public static void main(String[] argvs) {
Point p1=new Point();
p1.display();
p1.setXY(3.2, 5.6);
p1.display();
}
}
package aaa;
import java.util.*;
import java.io.*;
import java.math.*;
public class Main {
Scanner cin = new Scanner(System.in);
private int day;
private int month;
private int year;
public Main() {
day=1;
month=1;
year=1900;
}
public Main(int d,int m,int y) {
day=d;
month=m;
year=y;
}
public void display() {
System.out.println(day+"-"+month+"-"+year);
}
public static void main(String[] args) {
Main m1=new Main();
Main m2=new Main(25,12,2001);
m1.display();
m2.display();
}
}