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

一、今日学习内容:

今天练习实验二的习题。

二、遇到的问题:

无。

三、明日计划:

明天练习实验三的习题。

 

今天学习的具体内容如下:

1.学生类。

定义一个学生类,设计私有数据成员:年龄 int age;姓名 string name;

共有成员函数:带参数的初始化函数  Input(int a, string str);获取数据成员函数    Output();在主函数中定义一个有3个元素的对象数组并分别输入,然后输出对象数组的信息。

public class student {
    private int age;
    private String name;
    public static void main(String []args) {
        int i;
        
        student []s= new student[3];
        s[0]=new student(16,"小花");
        s[1]=new student(17,"小黑");
        s[2]=new student(14,"大明");
        for(i=0;i<3;i++) {
            s[i].output();
        }
        
    }
    student(int a,String str){
        age=a;
        name=str;
    }
    public void output() {
        System.out.println("姓名:"+name);
        System.out.println("年龄:"+age);
    }

}

测试截图:

 

 

2.点类

先定义一个点类,类名为point,将其坐标定义为私有成员,定义五个共有成员函数完成点的输入、输出、返回x坐标、返回y坐标和返回z坐标。在主程序中定义该类的一个对象,做到能够输入坐标,输出坐标,并且输出到原点的距离。

 

import java.lang.Math;
import java.util.Scanner;
public class point {
    private int x;
    private int y;
    private int z;
    public void setvalue(int a,int b,int c) {
        x=a;
        y=b;
        z=c;
    }
    public void output() {
        System.out.println("x="+x);
        System.out.println("y="+y);
        System.out.println("z="+z);
    }
    public int return_x() {
        return this.x;
    }
    public int return_y() {
        return this.y;
    }
    public int return_z() {
        return this.z;
    }
    public double length(point p) {
        double result;
        result=Math.sqrt(p.x*p.x+p.y*p.y+p.z*p.z);
        return result;
    }
    public static void main(String [] args) {
        System.out.println("请输入一个三维坐标点的值:");
        Scanner sc=new Scanner (System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        int c=sc.nextInt();
        point p1=new point();
        p1.setvalue(a, b, c);
        System.out.println("x的值:"+p1.return_x());
        System.out.println("y的值:"+p1.return_y());
        System.out.println("z的值:"+p1.return_z());
        p1.output();
        double s=p1.length(p1);
        System.out.println("该点到原点的距离:"+s);
        
    }

}

测试截图:

 

 

3.线段类

在实验任务二的基础上,构造线段类line,其中私有数据成员为两个point对象(线段的起始点和终点),一个共有函数输入两个point类型数据成员,一个共有函数计算线段的长度。在主函数中调用line的两个共有函数完成点的输入和线段长度的输出。

 

import java.lang.Math;
import java.util.Scanner;
public class point {
    protected int x;
    protected int y;
    protected int z;
    public void setvalue(int a,int b,int c) {
        x=a;
        y=b;
        z=c;
    }
    public void output() {
        System.out.println("x="+x);
        System.out.println("y="+y);
        System.out.println("z="+z);
    }
    public int return_x() {
        return this.x;
    }
    public int return_y() {
        return this.y;
    }
    public int return_z() {
        return this.z;
    }
    public double length(point p) {
        double result;
        result=Math.sqrt(p.x*p.x+p.y*p.y+p.z*p.z);
        return result;
    }
    public static void main(String [] args) {
        System.out.println("请输入一个三维坐标点的值:");
        Scanner sc=new Scanner (System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        int c=sc.nextInt();
        point p1=new point();
        p1.setvalue(a, b, c);
        System.out.println("x的值:"+p1.return_x());
        System.out.println("y的值:"+p1.return_y());
        System.out.println("z的值:"+p1.return_z());
        p1.output();
        double s=p1.length(p1);
        System.out.println("该点到原点的距离:"+s);
        System.out.println("\n请输入第一个坐标点:");
        int a1=sc.nextInt();
        int b1=sc.nextInt();
        int c1=sc.nextInt();
        System.out.println("\n请输入第二个坐标点:");
        int a2=sc.nextInt();
        int b2=sc.nextInt();
        int c2=sc.nextInt();
        line l=new line();
        point p2=new point();
        point p3=new point();
        p2.setvalue(a1, b1, c1);
        p3.setvalue(a2, b2, c2);
        l.setvalie_p(p2, p3);
        l.length_line(p2, p3);
    }

}
class line extends point{
    private point p1;
    private point p2;
    public void setvalie_p(point s1,point s2) {
        p1=s1;
        p2=s2;
    }
    public void length_line(point s1,point s2) {
        double result;
        result=Math.sqrt((s1.x-s2.x)*(s1.x-s2.x)+(s1.y-s2.y)*(s1.y-s2.y)+(s1.z-s2.z)*(s1.z-s2.z));
        System.out.println("这两点间的距离为:"+result);
    }
    
}

测试截图:

 

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