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

一、今日学习内容:

今天练习实验四的内容。

二、遇到的问题:

三、明日计划:

明天继续练习实验五的习题。

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

1点类

定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数。 定义一个友元函数Distance(), 用于求两点之间的距离。

import java.lang.Math;
import java.util.Scanner;
import java.text.DecimalFormat;
public class point {
    protected int x;
    protected int y;  
    public void setvalue(int a,int b) {
        x=a;
        y=b;
    }
    point(){
        
    }
    public void output() {
        System.out.println("x="+x);
        System.out.println("y="+y);
        
    }
    public int return_x() {
        return this.x;
    }
    public int return_y() {
        return this.y;
    }
   
    public static double length(point s1,point s2) {
        double result;
        result=Math.sqrt((double)((s1.x-s2.x)*(s1.x-s2.x)+(s1.y-s2.y)*(s1.y-s2.y)));
        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();
        point p1=new point();
        p1.setvalue(a, b);
       
        System.out.println("请输入一个二维坐标点的值:");
        
        int A=sc.nextInt();
        int B=sc.nextInt();
        point p2=new point();
        p2.setvalue(A, B);
        
        double s=length(p1,p2);
        DecimalFormat df=new DecimalFormat("0.00");
        System.out.println("两点之间的距离:"+df.format(s));
        
    }

}
 

测试截图:

2.复数类

1、声明一个复数类Complex(类私有数据成员为double型的real和image)

2、定义构造函数,用于指定复数的实部与虚部。

3、定义取反成员函数,调用时能返回该复数的相反数(实部、虚部分别是原数的相反数)。

4、定义成员函数Print(),调用该函数时,以格式(real, image)输出当前对象。

5、编写加法友元函数,以复数对象c1,c2为参数,求两个复数对象相加之和。

6、主程序实现:

(1)读入两个实数,用于初始化对象c1。

(2)读入两个实数,用于初始化对象c2。

(3)计算c1与c2相加结果,并输出。

(4)计算c2的相反数与c1相加结果,并输出。

import java.util.Scanner;
public class complex {
    private  int real;
    private int image;
    public static void main(String []args) {        
        @SuppressWarnings("resource")
        Scanner sc=new Scanner(System.in);        
        System.out.println("请输入第一个复数的的实部和虚部:");
        int x1=sc.nextInt();
        int y1=sc.nextInt();
        complex s1=new complex(x1,y1);
        System.out.println("请输入第二个复数的的实部和虚部:");
        int x2=sc.nextInt();
        int y2=sc.nextInt();
        complex s2=new complex(x2,y2);
        complex s=new complex();
        s=add(s1,s2);
        System.out.print("s1和s2和的");
        s.print();
        complex s3=new complex();
        complex s4=new complex();
        s3=different(s2);
        s4=add(s1,s3);
        System.out.print("s2的相反数与s1相加的");
        s4.print();
    
    }
    public  void print() {
        if(image>0)
           System.out.println("结果是:"+"("+real+","+image+")");
        if(image<0)
             System.out.println("结果是:"+"("+real+","+image+")");
        if(image==0)
            System.out.println("结果是:"+"("+real+",0)");
            
            
    }
    complex(int x,int y){
        real=x;
        image=y;
    }
    complex(){
        
    }
    public static complex add(complex c1,complex c2) {  //加法
        complex c=new complex();
        c.real=c1.real+c2.real;
        c.image=c1.image+c2.image;
        return c;
        
    }
    public static complex different(complex c) {
        complex c1=new complex();
        c1.real=-c.real;
        c1.image=-c.image;
        return c1;
    }

}

测试截图:

原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/13525803.html