其他分享
首页 > 其他分享> > 面向对象期中自评

面向对象期中自评

作者:互联网

------------恢复内容开始------------

前言:

这个学期初次了解到了JAVA,,在老师的指导下,我发觉JAVA与上个学期所学的c语言有明显的差别,不仅仅是各种使用的方法,学习的难度与老师的抓紧让我意识到了JAVA在我所学的这个专业占据了较大的地位,在寒假老师就让我们自学了JAVA的前八章,其内容与c语言有较大的关系,所以老师就让我们自行学习,从第八章之后,内容就愈发的难了起来,学起来也是十分的困难,在通过老师发布的PTA作业1和2后更深一步的认识到了JAVA语言,在此我对这半个学期的JAVA语言的学期做出一个总结。

                                                                                                                                        所学内容:

(1)JAVA语言与c语言的区别:

                   c:数据结构和算法。

                 JAVA:对象与消息的交互手段与方法。

(2)类的关系:

         聚合:整体与部分生存期不一致。

         组合:整体与部分生存期一致。

(3)类设计的原则

(4)课堂的举例:

          雨刷器的控制:

import java.util.Scanner;

    public class Test {

        public Test(){

        }

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner input = new Scanner(System.in);

            Driver driver = new Driver();
            // Lever lever = new Lever();
            // Dial dial = new Dial();
            // Brush brush = new Brush();
            // Agent agent = new Agent(lever,dial,brush);

            driver.work();

        }

        public void view(int a,int b,int c){
            System.out.println("Lever's pos is:" + a);
            System.out.println("Dial's pos is:" + b);
            System.out.println("Brush's speed is:" + c);
        }
}

 

  和:

 

import  java.util.Scanner;

public class Driver {

    public Driver(){

    }

    public static void work(){
        Scanner input = new Scanner(System.in);
        Lever lever = new Lever();
        Dial dial = new Dial();
        Brush brush = new Brush();
        Agent agent = new Agent(lever,dial,brush);
        System.out.println("1为升档,2为降档,3为升刻度,4为降刻度");
        int choice=input.nextInt();
        Test test = new Test();
        while(true) {
            switch(choice) {
                case 1:lever.upPos();break;
                case 2:lever.downPos();break;
                case 3:dial.upPos();break;
                case 4:dial.downPos();break;
            }

            agent.processSpeed();
            test.view(lever.getPos(),dial.getPos(),brush.getSpeed());
            System.out.println("1为升档,2为降档,3为升刻度,4为降刻度");
            choice = input.nextInt();
        }
    }
}

 

  老师举了这个例子给我们演示了如何与对象进行交互,和交互所用的方法。

                                                                                                           PTA题目集1-3的分析的分析:

作业一:

PTA作业一并未有类的创造与调用,作业一主要就是对一些简单的JAVA函数进行练习与巩固。

踩坑心得:初学JAVA对部分函数的使用还并未熟练,在通过作业一的联系下以及能对大部分函数熟练的使用。

作业二:

1.要求:

输入一个由英文字母组成的字符串(大小写均可),将所有英文字母转换成它们在字母表中的序号,例如:“AbbcD”转换为“12234”。

输入格式:

由英文字母组成的字符串(大小写均可)。例如:“AbbcD”
若包含非英文字母,视为非法输入。

输出格式:

所有英文字母转换成它们在字母表中的序号,例如:“12234”。
非法输入输出"Wrong Format".

输入样例:

在这里给出一组输入。例如:

AbbcD
 

输出样例:

在这里给出相应的输出。例如:

12234
 

输入样例1:

在这里给出一组输入。例如:

AFOPI
 

输出样例1:

在这里给出相应的输出。例如:

1615169
 

输入样例2:

在这里给出一组输入。例如:

c3u
 

输出样例2:

在这里给出相应的输出。例如:

Wrong Format
代码:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String a=in.nextLine();
        char b[]=a.toCharArray();
        int n=a.length();
        int flag=1;
        for(int i=0;i<n;i++)
        {
            char c=b[i];
            if((b[i]>='A'&&b[i]<='Z')||(b[i]>='a'&&b[i]<='z'))
                flag=1;
            else{
                flag=0;
                break;}
            }
        if(flag==0)
            System.out.print("Wrong Format");
        else{
            for(int k=0;k<n;k++)
            {
                int temp=1;
                char d='a';
                char e='A';
                while(true)
                {
                    if(b[k]!=d&&b[k]!=e)
                    {
                        d++;
                        e++;
                        temp++;
                    }
                    else
                        break;
                }
                System.out.print(temp);
            }
        }
    }
}

  

 

踩坑心得:

对字符串的使用比较陌生,在通过对c语言与JAVA语言的比较后得到了解决。

2.题目要求:

RS232是串口常用的通信协议,在异步通信模式下,串口可以一次发送5~8位数据,收发双方之间没有数据发送时线路维持高电平,相当于接收方持续收到数据“1”(称为空闲位),发送方有数据发送时,会在有效数据(5~8位,具体位数由通信双方提前设置)前加上1位起始位“0”,在有效数据之后加上1位可选的奇偶校验位和1位结束位“1”。请编写程序,模拟串口接收处理程序,注:假定有效数据是8位,奇偶校验位采用奇校验。

输入格式:

由0、1组成的二进制数据流。例如:11110111010111111001001101111111011111111101111

输出格式:

过滤掉空闲、起始、结束以及奇偶校验位之后的数据,数据之前加上序号和英文冒号。
如有多个数据,每个数据单独一行显示。
若数据不足11位或者输入数据全1没有起始位,则输出"null data",
若某个数据的结束符不为1,则输出“validate error”。
若某个数据奇偶校验错误,则输出“parity check error”。
若数据结束符和奇偶校验均不合格,输出“validate error”。
如:11011或11111111111111111。
例如:
1:11101011
2:01001101
3:validate error

输入样例:

在这里给出一组输入。例如:

1111011101011111111111
 

输出样例:

在这里给出相应的输出。例如:

1:11101011
 

输入样例1:

在这里给出一组输入。例如:

11110111010111111001001101111111011111111101111
 

输出样例1:

在这里给出相应的输出。例如:

1:11101011
2:01001101
3:validate error
 

输入样例2:

输入数据不足11位。例如:

111101
 

输出样例2:

在这里给出相应的输出。例如:

null data
 

输入样例3:

输入数据全1没有起始位。例如:

1111111111111111
 

输出样例3:

在这里给出相应的输出。例如:

null data
 

输入样例4:

输入数据全1没有起始位。例如:

111101110101111111101111111101
 

输出样例4:

在这里给出相应的输出。例如:

1:11101011
2:parity check error
 

输入样例5:

两组数据结束符和奇偶校验均不合格。例如:

111000000000000011100000000000000
 

输出样例5:

在这里给出相应的输出。例如:

1:validate error
2:validate error
 

输入样例6:

两组数据,数据之间无空闲位。例如:

1110000000001100111000001
 

输出样例6:

在这里给出相应的输出。例如:

1:00000000
2:01110000
代码:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in =new Scanner(System.in);
        String a=in.nextLine();
        char b[]=a.toCharArray();
        int n=a.length();
        int flag=0;
        int num=0;
        if(n<11)
            System.out.print("null data");
        else
        {
            for(int i=0;i<n;i++)
            {
                if(b[i]=='0')
                {
                    
                }
            }

        }
    }
}

  踩坑心得:

①:对题目不理解,在网上查询资料后得到了解决。

②:对字符串的分隔不够熟练,后进行了改进。

3.题目要求:

学校学生学号格式定义如下:
2位年级号+2位学院号+2位班级号+2位序号,如19041103,
编写程序处理用全院学生学号连接起来的长字符串,学院编号为20,包括17、18、19、20四个年级,请从字符串中提取特定两个班级202017班、202061班同学的学号后四位输出,输出编号之间用空格分隔,不换行。
注意:需要排除非法输入。

输入格式:

全院学生学号组成的长字符串(学号之间无分隔)
学号格式定义如下:
2位年级号+2位学院号+2位班级号+2位序号,如19041103,

输出格式:

特定两个班级202017班、202061班同学的学号后四位
如:1701 6103 1704

输入样例1:

在这里给出一组输入。例如:

2020610120201702202051132020110320201706
 

输出样例1:

在这里给出相应的输出。例如:

6101 1702 1706
 

输入样例2(第一个学号多输入一位):

在这里给出一组输入。例如:

20206100120201702202051132020110320201706
 

输出样例2:

在这里给出相应的输出。例如:

Wrong Format
 

输入样例3(第一个学号少输入一位数字):

在这里给出一组输入。例如:

202061120201702202051132020110320201706
 

输出样例3:

在这里给出相应的输出。例如:

Wrong Format
 

输入样例3(学号之间有空格):

在这里给出一组输入。例如:

2020610120201702 202051132020110320201706
 

输出样例3:

在这里给出相应的输出。例如:

Wrong Format
代码:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String a=in.nextLine();
        int n=a.length();
        char b[]=a.toCharArray();
        int flag=1;
        if(n%8!=0)
            System.out.println("Wrong Format");
        else
        {
            for(int i=0;i<n;i++)
            {
                if(b[i]>='0'&&b[i]<='9')
                    flag=1;
                else{
                    flag=0;
                    break;
                }
            }
            if(flag==0)
                System.out.println("Wrong Format");
            else
            {
                int temp=n/8;
                int temp1=0;
                //int m=4;
                //System.out.printf("%c%c",b[4],b[5]);
                for(int k=0;k<temp;k++)
                {
                    int f=8*k;
                    if(b[f]=='2'&&b[1+f]=='0'&&b[2+f]=='2'&&b[3+f]=='0'&&b[4+f]=='1'&&b[5+f]=='7'||b[f]=='2'&&b[1+f]=='0'&&b[2+f]=='2'&&b[3+f]=='0'&&b[4+f]=='6'&&b[5+f]=='1')
                        temp1++;
                }
                //System.out.println(temp1);
                int temp2=0;
                for(int e=0;e<temp;e++)
                {
                    int g=8*e;
                    if(b[g]=='2'&&b[1+g]=='0'&&b[2+g]=='2'&&b[3+g]=='0'&&b[4+g]=='1'&&b[5+g]=='7'||b[g]=='2'&&b[1+g]=='0'&&b[2+g]=='2'&&b[3+g]=='0'&&b[4+g]=='6'&&b[5+g]=='1')
                    {
                        temp2++;
                        if(temp2==temp1){
                            System.out.printf("%c%c%c%c",b[4+g],b[5+g],b[6+g],b[7+g]);
                        }
                        else{
                            System.out.printf("%c%c%c%c ",b[4+g],b[5+g],b[6+g],b[7+g]);
                        }
                    }
                    //System.out.println(temp2);
                }
            }
        }
    }
}

  踩坑心得:

①:对字符串的分隔并未熟练,后进行了改进。

②:在对数组类型的转换还未熟练掌握,后进行了改进。

作业三:

1.题目要求:

输入连个点的坐标,计算两点之间的距离

输入格式:

4个double类型的实数,两个点的x,y坐标,依次是x1、y1、x2、y2,两个点的坐标之间以空格分隔,每个点的x,y坐标以英文“,”分隔。例如:0,0 1,1或0.1,-0.3 +3.5,15.6。
若输入格式非法,输出"Wrong Format"。
若输入格式合法但坐标点的数量超过两个,输出“wrong number of points”。

输出格式:

计算所得的两点之间的距离。例如:1.4142135623730951

输入样例:

整数输入。例如:

0,0 1,1
 

输出样例:

在这里给出相应的输出。例如:

1.4142135623730951
 

输入样例1:

带符号double类型实数输入。例如:

+2,-2.3 0.9,-3.2
 

输出样例1:

在这里给出相应的输出。例如:

1.42126704035519
 

输入样例2:

格式非法。例如:

++2,-2.3 0.9,-3.2
 

输出样例2:

在这里给出相应的输出。例如:

Wrong Format
 

输入样例3:

点的数量超过两个。例如:

+2,-2.3 0.9,-3.2 +2,-2.3
 

输出样例3:

在这里给出相应的输出。例如:

wrong number of points
代码:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String a=in.nextLine();
        String[] b=a.split("\\s");
        String[] d=null;
        String[] f=null;
        int flag1=1,flag2=1,flag3=1;
        for(int i=0;i<b.length;i++)
        {
        	if(i==0)
        	{
        		d=b[i].split(",");
                if(d.length==0)
                    flag3=0;
        		for(int k=0;k<d.length;k++)
        		{
        			char[] c=d[k].toCharArray();
        			if(c[0]=='+'&&c[1]=='+'||c[0]=='-'&&c[1]=='-'||c[0]=='+'&&c[1]=='-'||c[0]=='-'&&c[1]=='+')
        				flag1=0;
        		}
        	}
        	if(i==1)
        	{
        		f=b[i].split(",");
                if(d.length==0)
                    flag3=0;
        		for(int k=0;k<d.length;k++)
        		{
        			char[] c=f[k].toCharArray();
        			if(c[0]=='+'&&c[1]=='+'||c[0]=='-'&&c[1]=='-'||c[0]=='+'&&c[1]=='-'||c[0]=='-'&&c[1]=='+')
        				flag1=0;
        	}
        }
    }
        if(b.length==0)
            flag3=0;
        if(b.length!=2&&b.length!=0)
        	flag2=0;
        if(flag1==0)
        	System.out.print("Wrong Format");
        else if(flag2==0&&flag1==1)
        	System.out.print("wrong number of points");
        else if(flag3==0)
            System.out.print("Wrong Format");
        else {
        double x1=Double.parseDouble(d[0]);
        double y1=Double.parseDouble(d[1]);
        double x2=Double.parseDouble(f[0]);
        double y2=Double.parseDouble(f[1]);
        double temp=((x1-x2)*(x1-x2))+((y1-y2)*(y1-y2));
        double temp1=Math.sqrt(temp);
        System.out.print(temp1);
        }
}
}

  踩坑心得:

①:对字符换的分隔函数还未熟练掌握,后进行了改进。

②:对数据的处理还未熟悉掌握,后经过多次调试得到了改进。

2.题目要求:

用户输入一组选项和数据,进行与直线有关的计算。选项包括:
1:输入两点坐标,计算斜率,若线条垂直于X轴,输出"Slope does not exist"。
2:输入三个点坐标,输出第一个点与另外两点连线的垂直距离。
3:输入三个点坐标,判断三个点是否在一条线上,输出true或者false。
4:输入四个点坐标,判断前两个点所构成的直线与后两点构成的直线是否平行,输出true或者false.
5:输入四个点坐标,计算输出前两个点所构成的直线与后两点构成的直线的交点坐标,x、y坐标之间以英文分隔",",并输出交叉点是否在两条线段之内(不含四个端点)的判断结果(true/false),判断结果与坐标之间以一个英文空格分隔。若两条线平行,没有交叉点,则输出"is parallel lines,have no intersection point"。

输入格式:

基本格式:选项+":"+坐标x+","+坐标y+" "+坐标x+","+坐标y。
例如:1:0,0 1,1
如果不符合基本格式,输出"Wrong Format"。
如果符合基本格式,但输入点的数量不符合要求,输出"wrong number of points"。
不论哪个选项,如果格式、点数量都符合要求,但构成任一条线的两个点坐标重合,输出"points coincide",

输出格式:

见题目描述。

输入样例1:

选项1,两点重合。例如:

1:-2,+5 -2,+5
 

输出样例:

在这里给出相应的输出。例如:

points coincide
 

输入样例2:

选项1,斜率无穷大的线。例如:

1:-2,3 -2,+5
 

输出样例:

在这里给出相应的输出。例如:

Slope does not exist
 

输入样例3:

选项1,斜率无穷大。例如:

1:-2,3 -2,+5
 

输出样例:

在这里给出相应的输出。例如:

Slope does not exist
 

输入样例4:

选项1,符合格式输入,带符号/不带符号数混合。例如:

1:-2.5,3 -2,+5.3
 

输出样例:

在这里给出相应的输出。例如:

4.6
 

输入样例5:

选项2,计算第一个点到另外两点连线的垂直距离。例如:

2:0,1 1,0 2,0
 

输出样例:

在这里给出相应的输出。例如:

1.0
 

输入样例6:

选项3,判断三个点是否在一条线上。例如:

3:0,1 2,2 5,3
 

输出样例:

在这里给出相应的输出。例如:

false
 

输入样例7:

选项4,判断两条线是否平行。例如:

4:0,1 0,2 2,1 3,0 
 

输出样例:

在这里给出相应的输出。例如:

false
 

输入样例8:

选项5,判断两条线的交点。例如:

5:0,0 -1,-1 0,2 3,-1
 

输出样例:

在这里给出相应的输出,交点坐标之间以英文","分隔,判断结果与坐标之间以一个英文空格分隔。例如:

1.0,1.0 true
 

输入样例9:

选项5,判断两条线的交点。但两条线平行例如:

5:0,0 -1,-1 2,3 3,4
 

输出样例:

在这里给出相应的输出,交点坐标之间以英文","分隔,判断结果与坐标之间以一个英文空格分隔。例如:

is parallel lines,have no intersection point
代码:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String a=in.nextLine();
        int temp1=0;
        char []b=a.toCharArray();
        for(int i=0;i<b.length;i++)
        {
        	if(b[i]==':')
        		temp1++;
        }
        //System.out.println(temp1);
        if(temp1!=1)
        	System.out.println("Wrong Format");
        else {
        //System.out.println(b[0]);
        if(b[0]=='1')
        	{
        		int flag1=1;
        		String[] sd1=null;
        		String[] sd2=null;
        		String[] f=a.split(":");
        		String[] o=f[1].split("\\s"); 
        		if(o.length!=2)
        			System.out.println("wrong number of points");
        		else
        		{
        			for(int i=0;i<o.length;i++)
        			{
        				if(i==0)
        				{
        					sd1=o[i].split(",");
        					char[] sz1=o[i].toCharArray();
                			if(sz1[0]=='+'&&sz1[1]=='+'||sz1[0]=='-'&&sz1[1]=='-'||sz1[0]=='+'&&sz1[1]=='-'||sz1[0]=='-'&&sz1[1]=='+')
                				flag1=0;
        				}
        				if(i==1)
        				{
        					sd2=o[i].split(",");
        					char[] sz2=o[i].toCharArray();
                			if(sz2[0]=='+'&&sz2[1]=='+'||sz2[0]=='-'&&sz2[1]=='-'||sz2[0]=='+'&&sz2[1]=='-'||sz2[0]=='-'&&sz2[1]=='+')
                				flag1=0;
        				}
        			}
        			if(flag1==0)
        				System.out.println("Wrong Format");
        			else
        			{
        				double x1=Double.parseDouble(sd1[0]);
        				double y1=Double.parseDouble(sd1[1]);
        				double x2=Double.parseDouble(sd2[0]);
        				double y2=Double.parseDouble(sd2[1]);
        				double k=(y2-y1)/(x2-x1);
        				if(x1==x2&&y1==y2)
        					System.out.println("points coincide");
        				else if(x1==x2)
        					System.out.println("Slope does not exist");
        				else
        					System.out.println(k);
        			}
        		}
        	}
        if(b[0]=='2')
        {
    		int flag1=1;
    		String[] sd1=null;
    		String[] sd2=null;
    		String[] sd3=null;
    		String[] f=a.split(":");
    		String[] o=f[1].split("\\s"); 
    		if(o.length!=3)
    			System.out.println("wrong number of points");
    		else
    		{
    			for(int i=0;i<o.length;i++)
    			{
    				if(i==0)
    				{
    					sd1=o[i].split(",");
    					char[] sz1=o[i].toCharArray();
            			if(sz1[0]=='+'&&sz1[1]=='+'||sz1[0]=='-'&&sz1[1]=='-'||sz1[0]=='+'&&sz1[1]=='-'||sz1[0]=='-'&&sz1[1]=='+')
            				flag1=0;
    				}
    				if(i==1)
    				{
    					sd2=o[i].split(",");
    					char[] sz2=o[i].toCharArray();
            			if(sz2[0]=='+'&&sz2[1]=='+'||sz2[0]=='-'&&sz2[1]=='-'||sz2[0]=='+'&&sz2[1]=='-'||sz2[0]=='-'&&sz2[1]=='+')
            				flag1=0;
    				}
    				if(i==2)
    				{
    					sd3=o[i].split(",");
    					char[] sz3=o[i].toCharArray();
            			if(sz3[0]=='+'&&sz3[1]=='+'||sz3[0]=='-'&&sz3[1]=='-'||sz3[0]=='+'&&sz3[1]=='-'||sz3[0]=='-'&&sz3[1]=='+')
            				flag1=0;
    				}
    			}
    			if(flag1==0)
    				System.out.println("Wrong Format");
    			else
    			{
    				double x1=Double.parseDouble(sd1[0]);
    				double y1=Double.parseDouble(sd1[1]);
    				double x2=Double.parseDouble(sd2[0]);
    				double y2=Double.parseDouble(sd2[1]);
    				double x3=Double.parseDouble(sd3[0]);
    				double y3=Double.parseDouble(sd3[1]);
    				if(x1==x2&&y1==y2||x1==x3&&y1==y3||x2==x3&&y2==y3)
    					System.out.println("points coincide");
    				else 
    				{
    					double k=(y3-y2)/(x3-x2);
    					double m=y2-((y3-y2)/(x3-x2))*x2;
    					double jl1=Math.abs(k*x1-y1+m);
    					double jl2=Math.sqrt(k*k+1);
    					double jl=jl1/jl2;
    					System.out.println(jl);
    				}
    			}
    		}
        }
        if(b[0]=='3')
        {
    		int flag1=1;
    		String[] sd1=null;
    		String[] sd2=null;
    		String[] sd3=null;
    		String[] f=a.split(":");
    		String[] o=f[1].split("\\s"); 
    		if(o.length!=3)
    			System.out.println("wrong number of points");
    		else
    		{
    			for(int i=0;i<o.length;i++)
    			{
    				if(i==0)
    				{
    					sd1=o[i].split(",");
    					char[] sz1=o[i].toCharArray();
            			if(sz1[0]=='+'&&sz1[1]=='+'||sz1[0]=='-'&&sz1[1]=='-'||sz1[0]=='+'&&sz1[1]=='-'||sz1[0]=='-'&&sz1[1]=='+')
            				flag1=0;
    				}
    				if(i==1)
    				{
    					sd2=o[i].split(",");
    					char[] sz2=o[i].toCharArray();
            			if(sz2[0]=='+'&&sz2[1]=='+'||sz2[0]=='-'&&sz2[1]=='-'||sz2[0]=='+'&&sz2[1]=='-'||sz2[0]=='-'&&sz2[1]=='+')
            				flag1=0;
    				}
    				if(i==2)
    				{
    					sd3=o[i].split(",");
    					char[] sz3=o[i].toCharArray();
            			if(sz3[0]=='+'&&sz3[1]=='+'||sz3[0]=='-'&&sz3[1]=='-'||sz3[0]=='+'&&sz3[1]=='-'||sz3[0]=='-'&&sz3[1]=='+')
            				flag1=0;
    				}
    			}
    			if(flag1==0)
    				System.out.println("Wrong Format");
    			else
    			{
    				double x1=Double.parseDouble(sd1[0]);
    				double y1=Double.parseDouble(sd1[1]);
    				double x2=Double.parseDouble(sd2[0]);
    				double y2=Double.parseDouble(sd2[1]);
    				double x3=Double.parseDouble(sd3[0]);
    				double y3=Double.parseDouble(sd3[1]);
    				double k1=0,k2=0,k3=0;
    				k1=(y2-y1)/(x2-x1);
    				k2=(y3-y1)/(x3-x1);
    				k3=(y3-y2)/(x3-x2);
    				if(k1==k2&&k1==k3&&k2==k3)
    					System.out.println("true");
    				else
    					System.out.println("false");
    			}
    		}
        }
        if(b[0]=='5')
        {
    		int flag1=1;
    		String[] sd1=null;
    		String[] sd2=null;
    		String[] sd3=null;
    		String[] sd4=null;
    		String[] f=a.split(":");
    		String[] o=f[1].split("\\s"); 
    		if(o.length!=4)
    			System.out.println("wrong number of points");
    		else
    		{
    			for(int i=0;i<o.length;i++)
    			{
    				if(i==0)
    				{
    					sd1=o[i].split(",");
    					char[] sz1=o[i].toCharArray();
            			if(sz1[0]=='+'&&sz1[1]=='+'||sz1[0]=='-'&&sz1[1]=='-'||sz1[0]=='+'&&sz1[1]=='-'||sz1[0]=='-'&&sz1[1]=='+')
            				flag1=0;
    				}
    				if(i==1)
    				{
    					sd2=o[i].split(",");
    					char[] sz2=o[i].toCharArray();
            			if(sz2[0]=='+'&&sz2[1]=='+'||sz2[0]=='-'&&sz2[1]=='-'||sz2[0]=='+'&&sz2[1]=='-'||sz2[0]=='-'&&sz2[1]=='+')
            				flag1=0;
    				}
    				if(i==2)
    				{
    					sd3=o[i].split(",");
    					char[] sz3=o[i].toCharArray();
            			if(sz3[0]=='+'&&sz3[1]=='+'||sz3[0]=='-'&&sz3[1]=='-'||sz3[0]=='+'&&sz3[1]=='-'||sz3[0]=='-'&&sz3[1]=='+')
            				flag1=0;
    				}
    				if(i==3)
    				{
    					sd4=o[i].split(",");
    					char[] sz4=o[i].toCharArray();
            			if(sz4[0]=='+'&&sz4[1]=='+'||sz4[0]=='-'&&sz4[1]=='-'||sz4[0]=='+'&&sz4[1]=='-'||sz4[0]=='-'&&sz4[1]=='+')
            				flag1=0;
    				}
    			}
    			if(flag1==0)
    				System.out.println("Wrong Format");
    			else
    			{
    				double x1=Double.parseDouble(sd1[0]);
    				double y1=Double.parseDouble(sd1[1]);
    				double x2=Double.parseDouble(sd2[0]);
    				double y2=Double.parseDouble(sd2[1]);
    				double x3=Double.parseDouble(sd3[0]);
    				double y3=Double.parseDouble(sd3[1]);
    				double x4=Double.parseDouble(sd4[0]);
    				double y4=Double.parseDouble(sd4[1]);
    				double k1=(y2-y1)/(x2-x1);
    				double k2=(y4-y3)/(x4-x3);
    				if(k1==k2)
    					System.out.println("is parallel lines,have no intersection point");
    				else {
    				double b1=y1-k1*x1;
    				double b2=y4-k2*x4;
    				double x0=(b2-b1)/(k1-k2);
    				double y0=k1*x0+b1;
    				System.out.print(x0+","+y0);
    				double maxx1=0,maxx2=0,maxy1=0,maxy2=0,minx1=0,minx2=0,miny1=0,miny2=0;
    				if(x1>x2) {
    					maxx1=x1;
    					minx1=x2;
    				}
    				else {
    					maxx1=x2;
    					minx1=x1;
    				}
    				if(x3>x4)
    				{
    					maxx2=x3;
    					minx2=x4;
    				}
    				else {
    					maxx2=x4;
    					minx2=x3;
    				}
    				if(y1>y2) {
    					maxy1=y1;
    					miny1=y2;
    				}
    				else {
    					maxy1=y2;
    					miny1=y1;
    				}
    				if(y3>y4) {
    					maxy2=y3;
    					miny2=y4;
    				}
    				else {
    					maxy2=y4;
    					miny2=y3;
    				}
    				if(x0>minx1&&x0<maxx1&&y0>miny1&&y0<maxy1||x0>minx2&&x0<maxx2&&y0>miny2&&y0<maxy2)
    					System.out.println(" true");
    				else
    					System.out.println(" false");
    				}
    			}
    		}
        }
        if(b[0]=='4')
        {
    		int flag1=1;
    		String[] sd1=null;
    		String[] sd2=null;
    		String[] sd3=null;
    		String[] sd4=null;
    		String[] f=a.split(":");
    		String[] o=f[1].split("\\s"); 
    		if(o.length!=4)
    			System.out.println("wrong number of points");
    		else
    		{
    			for(int i=0;i<o.length;i++)
    			{
    				if(i==0)
    				{
    					sd1=o[i].split(",");
    					char[] sz1=o[i].toCharArray();
            			if(sz1[0]=='+'&&sz1[1]=='+'||sz1[0]=='-'&&sz1[1]=='-'||sz1[0]=='+'&&sz1[1]=='-'||sz1[0]=='-'&&sz1[1]=='+')
            				flag1=0;
    				}
    				if(i==1)
    				{
    					sd2=o[i].split(",");
    					char[] sz2=o[i].toCharArray();
            			if(sz2[0]=='+'&&sz2[1]=='+'||sz2[0]=='-'&&sz2[1]=='-'||sz2[0]=='+'&&sz2[1]=='-'||sz2[0]=='-'&&sz2[1]=='+')
            				flag1=0;
    				}
    				if(i==2)
    				{
    					sd3=o[i].split(",");
    					char[] sz3=o[i].toCharArray();
            			if(sz3[0]=='+'&&sz3[1]=='+'||sz3[0]=='-'&&sz3[1]=='-'||sz3[0]=='+'&&sz3[1]=='-'||sz3[0]=='-'&&sz3[1]=='+')
            				flag1=0;
    				}
    				if(i==3)
    				{
    					sd4=o[i].split(",");
    					char[] sz4=o[i].toCharArray();
            			if(sz4[0]=='+'&&sz4[1]=='+'||sz4[0]=='-'&&sz4[1]=='-'||sz4[0]=='+'&&sz4[1]=='-'||sz4[0]=='-'&&sz4[1]=='+')
            				flag1=0;
    				}
    			}
    			if(flag1==0)
    				System.out.println("Wrong Format");
    			else
    			{
    				double x1=Double.parseDouble(sd1[0]);
    				double y1=Double.parseDouble(sd1[1]);
    				double x2=Double.parseDouble(sd2[0]);
    				double y2=Double.parseDouble(sd2[1]);
    				double x3=Double.parseDouble(sd3[0]);
    				double y3=Double.parseDouble(sd3[1]);
    				double x4=Double.parseDouble(sd4[0]);
    				double y4=Double.parseDouble(sd4[1]);
    				double k1=(y2-y1)/(x2-x1);
    				double k2=(y4-y3)/(x4-x3);
    				if(k1==k2)
    					System.out.println("true");
    				else
    					System.out.println("false");
    			}
    		}
        }
        }
}
}

  踩坑心得:

    ①:题目条件有很多,导致条理十分紊乱,后经过多次调试得到了解决。

②:对条件的把握还没有到位,导致许多功能无法实现,后经过多次的调试也得到了解决。

③:对于字符串的输入与输出,类型的转换还没有熟练掌握,导致输出的错误实例老是错误,在通过我的不懈调试下得到了解决。

④:出现过数组越界的问题,后通过对数组的存储方式进行变换后得到了解决。

3.题目要求:

用户输入一组选项和数据,进行与三角形有关的计算。选项包括:
1:输入三个点坐标,判断是否是等腰三角形、等边三角形,判断结果输出true/false,两个结果之间以一个英文空格符分隔。
2:输入三个点坐标,输出周长、面积、重心坐标,三个参数之间以一个英文空格分隔,坐标之间以英文","分隔。
3:输入三个点坐标,输出是钝角、直角还是锐角三角形,依次输出三个判断结果(true/false),以一个英文空格分隔,
4:输入五个点坐标,输出前两个点所在的直线与三个点所构成的三角形相交的交点数量,如果交点有两个,则按面积大小依次输出三角形被直线分割成两部分的面积。若直线与三角形一条线重合,输出"The point is on the edge of the triangle"
5:输入四个点坐标,输出第一个是否在后三个点所构成的三角形的内部(输出in the triangle/outof triangle)。
必须使用射线法,原理:由第一个点往任一方向做一射线,射线与三角形的边的交点(不含点本身)数量如果为1,则在三角形内部。如果交点有两个或0个,则在三角形之外。若点在三角形的某条边上,输出"on the triangle"

输入格式:

基本格式:选项+":"+坐标x+","+坐标y+" "+坐标x+","+坐标y。点的x、y坐标之间以英文","分隔,点与点之间以一个英文空格分隔。

输出格式:

基本输出格式见每种选项的描述。
异常情况输出:
如果不符合基本格式,输出"Wrong Format"。
如果符合基本格式,但输入点的数量不符合要求,输出"wrong number of points"。
如果输入的三个点无法构成三角形,输出"data error"。
注意:输出的数据若小数点后超过6位,只保留小数点后6位,多余部分采用四舍五入规则进到最低位。小数点后若不足6位,按原始位数显示,不必补齐。例如:1/3的结果按格式输出为 0.333333,1.0按格式输出为1.0

选项4中所输入线的两个点坐标重合,输出"points coincide",

输入样例1:

选项4,定义线的两点重合。例如:

4:1,0 1,0 0,0 2,0 4,0
 

输出样例:

在这里给出相应的输出。例如:

points coincide
 

输入样例2:

选项4,构成三角形的三个点在一条线上,无法构成三角形。例如:

4:1,0 0,2 0,0 0,0 4,0
 

输出样例:

在这里给出相应的输出。例如:

data error
 

输入样例3:

选项1,判断等腰、等边三角形。例如:

1:-2,0 2,0 0,4
 

输出样例:

两个判断结果。例如:

true false
 

输入样例4:

选项2,输出边长、面积、重心坐标。例如:

2:0,0 3,0 0,1
 

输出样例:

在这里给出相应的输出。例如:

7.162278 1.5 1.0,0.333333
 

输入样例5:

选项3,钝角、直角、锐角的判断。例如:

3:0,1 1,0 2,0
 

输出样例:

在这里给出相应的输出。例如:

true false false
 

输入样例6:

选项4,直线与三角形交点的数量等于2,输出数量值以及三角形被分割的两部分面积。例如:

4:1,0 0,2 0,0 0,2 4,0
 

输出样例:

在这里给出相应的输出。例如:

2 1.0 3.0
 

输入样例7:

选项4,直线与三角形交点的数量少于两个,只输出数量值。例如:

4:-1,0 1,2 0,1 0,-1 2,0
 

输出样例:

在这里给出相应的输出。例如:

1
 

输入样例8:

选项5,用射线法判断点是否在三角形内部。例如:

5:0.5,0.5 0,0 0,2 4,0
 

输出样例:

在这里给出相应的输出,交点坐标之间以英文","分隔,判断结果与坐标之间以一个英文空格分隔。例如:

in the triangle
 

输入样例9:

选项5,用射线法判断点是否在三角形内部。例如:

5:0,0 -1,-1 2,3 3,4
 

输出样例:

在这里给出相应的输出。例如:

outof the triangle
代码:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String a=in.nextLine();
        int temp1=0;
        char []b=a.toCharArray();
        for(int i=0;i<b.length;i++)
        {
        	if(b[i]==':')
        		temp1++;
        }
        //System.out.println(temp1);
        if(temp1!=1)
        	System.out.println("Wrong Format");
        else {
        //System.out.println(b[0]);
        if(b[0]=='1')
        	{
        		int flag1=1;
        		String[] sd1=null;
        		String[] sd2=null;
        		String[] f=a.split(":");
        		String[] o=f[1].split("\\s"); 
        		if(o.length!=2)
        			System.out.println("wrong number of points");
        		else
        		{
        			for(int i=0;i<o.length;i++)
        			{
        				if(i==0)
        				{
        					sd1=o[i].split(",");
        					char[] sz1=o[i].toCharArray();
                			if(sz1[0]=='+'&&sz1[1]=='+'||sz1[0]=='-'&&sz1[1]=='-'||sz1[0]=='+'&&sz1[1]=='-'||sz1[0]=='-'&&sz1[1]=='+')
                				flag1=0;
        				}
        				if(i==1)
        				{
        					sd2=o[i].split(",");
        					char[] sz2=o[i].toCharArray();
                			if(sz2[0]=='+'&&sz2[1]=='+'||sz2[0]=='-'&&sz2[1]=='-'||sz2[0]=='+'&&sz2[1]=='-'||sz2[0]=='-'&&sz2[1]=='+')
                				flag1=0;
        				}
        			}
        			if(flag1==0)
        				System.out.println("Wrong Format");
        			else
        			{
        				double x1=Double.parseDouble(sd1[0]);
        				double y1=Double.parseDouble(sd1[1]);
        				double x2=Double.parseDouble(sd2[0]);
        				double y2=Double.parseDouble(sd2[1]);
        				double k=(y2-y1)/(x2-x1);
        				if(x1==x2&&y1==y2)
        					System.out.println("points coincide");
        				else if(x1==x2)
        					System.out.println("Slope does not exist");
        				else
        					System.out.println(k);
        			}
        		}
        	}
        if(b[0]=='2')
        {
    		int flag1=1;
    		String[] sd1=null;
    		String[] sd2=null;
    		String[] sd3=null;
    		String[] f=a.split(":");
    		String[] o=f[1].split("\\s"); 
    		if(o.length!=3)
    			System.out.println("wrong number of points");
    		else
    		{
    			for(int i=0;i<o.length;i++)
    			{
    				if(i==0)
    				{
    					sd1=o[i].split(",");
    					char[] sz1=o[i].toCharArray();
            			if(sz1[0]=='+'&&sz1[1]=='+'||sz1[0]=='-'&&sz1[1]=='-'||sz1[0]=='+'&&sz1[1]=='-'||sz1[0]=='-'&&sz1[1]=='+')
            				flag1=0;
    				}
    				if(i==1)
    				{
    					sd2=o[i].split(",");
    					char[] sz2=o[i].toCharArray();
            			if(sz2[0]=='+'&&sz2[1]=='+'||sz2[0]=='-'&&sz2[1]=='-'||sz2[0]=='+'&&sz2[1]=='-'||sz2[0]=='-'&&sz2[1]=='+')
            				flag1=0;
    				}
    				if(i==2)
    				{
    					sd3=o[i].split(",");
    					char[] sz3=o[i].toCharArray();
            			if(sz3[0]=='+'&&sz3[1]=='+'||sz3[0]=='-'&&sz3[1]=='-'||sz3[0]=='+'&&sz3[1]=='-'||sz3[0]=='-'&&sz3[1]=='+')
            				flag1=0;
    				}
    			}
    			if(flag1==0)
    				System.out.println("Wrong Format");
    			else
    			{
    				double x1=Double.parseDouble(sd1[0]);
    				double y1=Double.parseDouble(sd1[1]);
    				double x2=Double.parseDouble(sd2[0]);
    				double y2=Double.parseDouble(sd2[1]);
    				double x3=Double.parseDouble(sd3[0]);
    				double y3=Double.parseDouble(sd3[1]);
    				if(x1==x2&&y1==y2||x1==x3&&y1==y3||x2==x3&&y2==y3)
    					System.out.println("points coincide");
    				else 
    				{
    					double k=(y3-y2)/(x3-x2);
    					double m=y2-((y3-y2)/(x3-x2))*x2;
    					double jl1=Math.abs(k*x1-y1+m);
    					double jl2=Math.sqrt(k*k+1);
    					double jl=jl1/jl2;
    					System.out.println(jl);
    				}
    			}
    		}
        }
        if(b[0]=='3')
        {
    		int flag1=1;
    		String[] sd1=null;
    		String[] sd2=null;
    		String[] sd3=null;
    		String[] f=a.split(":");
    		String[] o=f[1].split("\\s"); 
    		if(o.length!=3)
    			System.out.println("wrong number of points");
    		else
    		{
    			for(int i=0;i<o.length;i++)
    			{
    				if(i==0)
    				{
    					sd1=o[i].split(",");
    					char[] sz1=o[i].toCharArray();
            			if(sz1[0]=='+'&&sz1[1]=='+'||sz1[0]=='-'&&sz1[1]=='-'||sz1[0]=='+'&&sz1[1]=='-'||sz1[0]=='-'&&sz1[1]=='+')
            				flag1=0;
    				}
    				if(i==1)
    				{
    					sd2=o[i].split(",");
    					char[] sz2=o[i].toCharArray();
            			if(sz2[0]=='+'&&sz2[1]=='+'||sz2[0]=='-'&&sz2[1]=='-'||sz2[0]=='+'&&sz2[1]=='-'||sz2[0]=='-'&&sz2[1]=='+')
            				flag1=0;
    				}
    				if(i==2)
    				{
    					sd3=o[i].split(",");
    					char[] sz3=o[i].toCharArray();
            			if(sz3[0]=='+'&&sz3[1]=='+'||sz3[0]=='-'&&sz3[1]=='-'||sz3[0]=='+'&&sz3[1]=='-'||sz3[0]=='-'&&sz3[1]=='+')
            				flag1=0;
    				}
    			}
    			if(flag1==0)
    				System.out.println("Wrong Format");
    			else
    			{
    				double x1=Double.parseDouble(sd1[0]);
    				double y1=Double.parseDouble(sd1[1]);
    				double x2=Double.parseDouble(sd2[0]);
    				double y2=Double.parseDouble(sd2[1]);
    				double x3=Double.parseDouble(sd3[0]);
    				double y3=Double.parseDouble(sd3[1]);
    				double k1=0,k2=0,k3=0;
    				k1=(y2-y1)/(x2-x1);
    				k2=(y3-y1)/(x3-x1);
    				k3=(y3-y2)/(x3-x2);
    				if(k1==k2&&k1==k3&&k2==k3)
    					System.out.println("true");
    				else
    					System.out.println("false");
    			}
    		}
        }
        if(b[0]=='5')
        {
    		int flag1=1;
    		String[] sd1=null;
    		String[] sd2=null;
    		String[] sd3=null;
    		String[] sd4=null;
    		String[] f=a.split(":");
    		String[] o=f[1].split("\\s"); 
    		if(o.length!=4)
    			System.out.println("wrong number of points");
    		else
    		{
    			for(int i=0;i<o.length;i++)
    			{
    				if(i==0)
    				{
    					sd1=o[i].split(",");
    					char[] sz1=o[i].toCharArray();
            			if(sz1[0]=='+'&&sz1[1]=='+'||sz1[0]=='-'&&sz1[1]=='-'||sz1[0]=='+'&&sz1[1]=='-'||sz1[0]=='-'&&sz1[1]=='+')
            				flag1=0;
    				}
    				if(i==1)
    				{
    					sd2=o[i].split(",");
    					char[] sz2=o[i].toCharArray();
            			if(sz2[0]=='+'&&sz2[1]=='+'||sz2[0]=='-'&&sz2[1]=='-'||sz2[0]=='+'&&sz2[1]=='-'||sz2[0]=='-'&&sz2[1]=='+')
            				flag1=0;
    				}
    				if(i==2)
    				{
    					sd3=o[i].split(",");
    					char[] sz3=o[i].toCharArray();
            			if(sz3[0]=='+'&&sz3[1]=='+'||sz3[0]=='-'&&sz3[1]=='-'||sz3[0]=='+'&&sz3[1]=='-'||sz3[0]=='-'&&sz3[1]=='+')
            				flag1=0;
    				}
    				if(i==3)
    				{
    					sd4=o[i].split(",");
    					char[] sz4=o[i].toCharArray();
            			if(sz4[0]=='+'&&sz4[1]=='+'||sz4[0]=='-'&&sz4[1]=='-'||sz4[0]=='+'&&sz4[1]=='-'||sz4[0]=='-'&&sz4[1]=='+')
            				flag1=0;
    				}
    			}
    			if(flag1==0)
    				System.out.println("Wrong Format");
    			else
    			{
    				double x1=Double.parseDouble(sd1[0]);
    				double y1=Double.parseDouble(sd1[1]);
    				double x2=Double.parseDouble(sd2[0]);
    				double y2=Double.parseDouble(sd2[1]);
    				double x3=Double.parseDouble(sd3[0]);
    				double y3=Double.parseDouble(sd3[1]);
    				double x4=Double.parseDouble(sd4[0]);
    				double y4=Double.parseDouble(sd4[1]);
    				double k1=(y2-y1)/(x2-x1);
    				double k2=(y4-y3)/(x4-x3);
    				if(k1==k2)
    					System.out.println("is parallel lines,have no intersection point");
    				else {
    				double b1=y1-k1*x1;
    				double b2=y4-k2*x4;
    				double x0=(b2-b1)/(k1-k2);
    				double y0=k1*x0+b1;
    				System.out.print(x0+","+y0);
    				double maxx1=0,maxx2=0,maxy1=0,maxy2=0,minx1=0,minx2=0,miny1=0,miny2=0;
    				if(x1>x2) {
    					maxx1=x1;
    					minx1=x2;
    				}
    				else {
    					maxx1=x2;
    					minx1=x1;
    				}
    				if(x3>x4)
    				{
    					maxx2=x3;
    					minx2=x4;
    				}
    				else {
    					maxx2=x4;
    					minx2=x3;
    				}
    				if(y1>y2) {
    					maxy1=y1;
    					miny1=y2;
    				}
    				else {
    					maxy1=y2;
    					miny1=y1;
    				}
    				if(y3>y4) {
    					maxy2=y3;
    					miny2=y4;
    				}
    				else {
    					maxy2=y4;
    					miny2=y3;
    				}
    				if(x0>minx1&&x0<maxx1&&y0>miny1&&y0<maxy1||x0>minx2&&x0<maxx2&&y0>miny2&&y0<maxy2)
    					System.out.println(" true");
    				else
    					System.out.println(" false");
    				}
    			}
    		}
        }
        if(b[0]=='4')
        {
    		int flag1=1;
    		String[] sd1=null;
    		String[] sd2=null;
    		String[] sd3=null;
    		String[] sd4=null;
    		String[] f=a.split(":");
    		String[] o=f[1].split("\\s"); 
    		if(o.length!=4)
    			System.out.println("wrong number of points");
    		else
    		{
    			for(int i=0;i<o.length;i++)
    			{
    				if(i==0)
    				{
    					sd1=o[i].split(",");
    					char[] sz1=o[i].toCharArray();
            			if(sz1[0]=='+'&&sz1[1]=='+'||sz1[0]=='-'&&sz1[1]=='-'||sz1[0]=='+'&&sz1[1]=='-'||sz1[0]=='-'&&sz1[1]=='+')
            				flag1=0;
    				}
    				if(i==1)
    				{
    					sd2=o[i].split(",");
    					char[] sz2=o[i].toCharArray();
            			if(sz2[0]=='+'&&sz2[1]=='+'||sz2[0]=='-'&&sz2[1]=='-'||sz2[0]=='+'&&sz2[1]=='-'||sz2[0]=='-'&&sz2[1]=='+')
            				flag1=0;
    				}
    				if(i==2)
    				{
    					sd3=o[i].split(",");
    					char[] sz3=o[i].toCharArray();
            			if(sz3[0]=='+'&&sz3[1]=='+'||sz3[0]=='-'&&sz3[1]=='-'||sz3[0]=='+'&&sz3[1]=='-'||sz3[0]=='-'&&sz3[1]=='+')
            				flag1=0;
    				}
    				if(i==3)
    				{
    					sd4=o[i].split(",");
    					char[] sz4=o[i].toCharArray();
            			if(sz4[0]=='+'&&sz4[1]=='+'||sz4[0]=='-'&&sz4[1]=='-'||sz4[0]=='+'&&sz4[1]=='-'||sz4[0]=='-'&&sz4[1]=='+')
            				flag1=0;
    				}
    			}
    			if(flag1==0)
    				System.out.println("Wrong Format");
    			else
    			{
    				double x1=Double.parseDouble(sd1[0]);
    				double y1=Double.parseDouble(sd1[1]);
    				double x2=Double.parseDouble(sd2[0]);
    				double y2=Double.parseDouble(sd2[1]);
    				double x3=Double.parseDouble(sd3[0]);
    				double y3=Double.parseDouble(sd3[1]);
    				double x4=Double.parseDouble(sd4[0]);
    				double y4=Double.parseDouble(sd4[1]);
    				double k1=(y2-y1)/(x2-x1);
    				double k2=(y4-y3)/(x4-x3);
    				if(k1==k2)
    					System.out.println("true");
    				else
    					System.out.println("false");
    			}
    		}
        }
        }
}
}

  

踩坑心得:

①:对三角形的判断老是错误,后通过与数学的结合后得到了解决。

②:对数据的处理也并未熟练,使得三角形老是错误的输入与输出,后经过调试得到了解决。

③:对错误样例也没有细心梳理,使得许多错误输入得到的输出也是错误的。

④:出现过数组越界的问题,后通过对数组的存储方式进行变换后得到了解决。

                                                                                                                                      总结:

1、学到了什么:

①:可以根据需求分析来解决问题。

②:对我在前八章Java程序设计基础上进行了一定量的复习。

③:能通过类间关系来降低代码的耦合性。

2、需要进一步改进的地方:

①:自主学习的能力,由于这门课程采用的是线上线下相结合的方式,通过老师指定

的方式或其他方式自学是很重要的。

②:编码时的调试能力,在pta作业的完成中,错误无可避免,但是要学会自己通过调

试来发现问题所在并解决它。

建议与意见:

无。



 

 

------------恢复内容结束------------

标签:输出,例如,样例,面向对象,期中,给出,坐标,自评,输入
来源: https://www.cnblogs.com/iuuuu/p/16127726.html