Java暑期学习第四十七天日报

一、今日学习内容:

今天练习课后作业第四章习题的内容。

二、遇到的问题:

三、明日计划:

明天继续练习课后作业第四章习题的习题。

 

今日练习的具体内容如下:

 

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();
  }
}

 

测试截图:

 

posted on 2020-08-21 14:40  桑榆非晚柠月如风  阅读(121)  评论(0编辑  收藏  举报