一、今日学习内容:
今天练习课后作业第四章习题的内容。
二、遇到的问题:
无
三、明日计划:
明天继续练习课后作业第四章习题的习题。
今日练习的具体内容如下:
1.
定义一个DataType(数据类型)类,能处理包含字符型、整型、浮点型3种类型的数据,给出其构造函数。
public class DataType { private char s; //字符型 private int a; //整型 private float b; //浮点型 public DataType() { } public DataType(char s, int a, float b) { this.s = s; this.a = a; this.b = b; } public void display() { System.out.println("字符型:"+s); System.out.println("整型:"+a); System.out.println("浮点型:"+b); } public static void main(String[] args) { DataType p=new DataType('a',17,475.2f); p.display(); } }
测试截图:
2.
定义一个Circle 类,有数据成员radius(半径),成员函数getArea(),计算圆的面积,构造一个Circle的对象进行测试。
import java.util.Scanner; public class Circle { private double radius; //半径 public Circle() { } public Circle(double radius) { this.radius = radius; } public void getArea() { double s; s=3.1415926*radius*radius; System.out.printf("面积:%-10f",s); } public static void main(String[] args) { Scanner in=new Scanner(System.in); double r; System.out.print("半径:"); r=in.nextDouble(); Circle c=new Circle(r); c.getArea(); } }
测试截图:
3.定义一个Tree(树)类,有成员ages(树龄),成员函数grow(int years)对ages加上years,age()显示Tree对象的ages的值。
import java.util.Scanner; //Tree类 public class Tree { private int ages; //树龄 public Tree() { } public Tree(int ages) { this.ages=ages; } //增加生长年数 public void grow(int years) { ages+=years; } //显示树龄 public void age() { System.out.println("树龄:"+ages); } public static void main(String[] args) { Scanner in=new Scanner(System.in); int a,b; System.out.println("请输入原有树龄:"); a=in.nextInt(); System.out.println("请输入生长的年数:"); b=in.nextInt(); Tree t=new Tree(a); t.grow(b); t.age(); } }
测试截图:
4.编写一个名为CPU的类,描述一个CPU的以下信息:时钟频率,最大不会超过3000MHZ;字长,可以是32位或64位;核数,可以是单核、双核或四核;是否支持超线程。各项信息要求使用位域来表示。通过输出sizeof(CPU)来观察该类型所占的字节数。
enum Word{ bit32,bit64 } enum Heshu{ one,two,four } enum Yes_no{ yes,no } public class CPU { private int fre; private Word wd; private Heshu hu; private Yes_no yo; public CPU() { } public CPU(int fre, Word wd, Heshu hu, Yes_no yo) { this.fre = fre; this.wd = wd; this.hu = hu; this.yo = yo; } public void show() { System.out.println("时钟频率:"+fre); System.out.print("字长:"); switch(wd) { case bit32:System.out.println("32位");break; case bit64:System.out.println("64位");break; } System.out.print("核数:"); switch(hu) { case one:System.out.println("单核");break; case two:System.out.println("双核");break; case four:System.out.println("四核");break; } System.out.print("是否支持超线程:"); switch(yo) { case yes:System.out.println("是");break; case no:System.out.println("否");break; } } public static void main(String[] args) { CPU c=new CPU(200000,Word.bit32,Heshu.four,Yes_no.yes); c.show(); } }
测试截图: