P273 独立练习(练习
一)
class Book
{
private String title;
private String author;
private String publisher;
private double price;
public void setTitle(String t)
{
title=t;
}
public void setAuthor(String a)
{
author=a;
}
public void setPublisher(String p)
{
publisher=p;
}
public void setPrice(double pr)
{
price=pr;
}
public String getTitle()
{
return title;
}
public String getAuthor()
{
return author;
}
public String getPublisher()
{
return publisher;
}
public double getPrice()
{
return price;
}
public Book(String t,String a,String p,double pr)
{
title=t;
author=a;
publisher=p;
price=pr;
}
public void description()
{
System.out.println ("《"+title+"》"+"\t"+author+"\t"+publisher+"\t"+price);
}
}
public class Test
{
public static void main(String[] args)
{
Book booka=new Book("Java面向对象编程","张三 ","电子科技出版社",32.0);
Book bookb=new Book("Java Swing程序设计","李四","机械工业出版社",46.0);
Book bookc=new Book("高级Java网络编程","王五","北京邮电出版社",54);
booka.description();
bookb.description();
bookc.description();
}
}
补充作业2:
1、定义一个学生类,具有属性:姓名(name)、性别(sex)、年龄(age)、体重(weight)、银行帐户余额(money)!给每个属性提供set以及get方法。
2、为该学生提供学习方法(learn)、休息方法(rest)、显示信息方法(display)。在学习方法中,体重减一;在休息方法中,体重加一。
3、为学生类提供方法重载对成员变量进行灵活初始化。要求(a、无参的构造方法;b、只有姓名一个参数的构造方法;c、有姓名、性别两个参数的构造方法;d、有姓名、性别、年龄三个参数的构造方法;e、有姓名、性别、年龄、体重四个参数的构造方法;f、有姓名、性别、年龄、体重、银行帐户五个参数的构造方法。
4、在测试类中,实例化学生类,要求:通过6种不同的初始化方法,实现6个对象的创建,并显示具体学生的相关信息。
class Student
{
private String name;
private String sex;
private int age;
private float weight;
private double money;
public void setName(String n)
{
name=n;
}
public void setSex(String s)
{
sex=s;
}
public void setAge(int a)
{
age=a;
}
public void setWeight(float w)
{
weight=w;
}
public void setMoney(double m)
{
money=m;
}
public String getName()
{
return name;
}
public String getSex()
{
return sex;
}
public int getAge()
{
return age;
}
public float getWeight()
{
return weight;
}
public double getMoney()
{
return money;
}
public void learn()
{
System.out.println ("我学习....");
weight--;
display();
}
public void rest()
{
System.out.println ("我休息...");
weight++;
display();
}
public void display()
{
System.out.println (name+"\t"+sex+"\t"+age+"\t"+weight+"\t"+money+"\n");
}
public Student()
{
System.out.println ("无参的构造
数...");
}
public Student(String n)
{
name=n;
System.out.println ("只有姓名一个参数的构造方法.....");
}
public Student(String n,String s)
{
name=n;
sex=s;
System.out.println ("有姓名、性别两个参数的构造方法.....");
}
public Student(String n,String s,int a)
{
name=n;
sex=s;
age=a;
System.out.println ("有姓名、性别、年龄三个参数的构造方法...")
;
}
public Student(String n,String s,int a,float w)
{
name=n;
sex=s;
age=a;
weight=w;
System.out.println ("有姓名、性别、年龄、体重四个参数的构造方法...")
;
}
public Student(String n,String s,int a,float w,double m)
{
name=n;
sex=s;
age=a;
weight=w;
money=m;
System.out.println ("有姓名、性别、年龄、体重、银行帐户五个参数的构造方法....")
;
}
}
public class Test
{
public static void main(String[] args)
{
Student std1=new Student();
std1.display();
Student std2=new Student("andy");
std2.display();
Student std3=new Student("andy","女");
std3.display();
Student std4=new Student("andy","女",18);
std4.display();
Student std5=new Student("andy","女",18,45.2f);
std5.display();
Student std6=new Student("andy","女",18,45.2f,1080.09);
std6.display();
}
}
补充作业3:
定义一个类AbsoluteValue(求绝对值),要求使用方法重载实现int\float\double数值的取绝对值方法:abs。从命令行输入参数,测试。
import java.util.Scanner;
public class Test
{
public int abs(int i)
{
return ((i>0)?i:-i);
}
public double abs(double d)
{
return ((d>0)?d:-d);
}
public float abs(float f)
{
return ((f>0)?f:-f);
}
public static void main(String[] args)
{
Test test=new Test();
Scanner in=new Scanner(System.in);
System.out.println ("请输入一个int数:");
int num_i=in.nextInt();
System.out.println (num_i+"的绝对值是:"+test.abs(num_i));
System.out.println ("请输入一个float数:");
float num_f=in.nextFloat();
System.out.println (num_f+"的绝对值是:"+test.abs(num_f));
System.out.println ("请输入一个double数:");
double num_d=in.nextDouble();
System.out.println (num_d+"的绝对值是:"+test.abs(num_d));
}
}