我是初学者,为什么"错误:' .class'预期"出现了吗?

时间:2014-12-11 21:27:54

标签: java

这是一个用于计算由六点创建的三角形区域的程序 并指出什么类型的三角形。

import java.util.Scanner;

public class assignment {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int m = 0,n = 0;
        int[][] x = new int[6][2];
        double a,b,c,a1,b1,c1;
        String y = "";
        System.out.println("Please enter six points,");
        for(int i = 0 ; i < x.length ; i++ ){
            for(int j = 0 ; j < x[i].length ; j++)
                x[i][j] = input.nextInt();
                }

        for(int i = 0 ; i < 30 ; i++)
            System.out.print("--");
            System.out.print("\n\t\t\t\tTypes of Triangles\n");
            for(int i = 0 ; i < 30 ; i++)
                System.out.print("--");
                System.out.println();
                System.out.println("Point1\t\tPoint2\t\tPoint3\t\tType of Triangle");
                for(int i = 0 ; i < 30 ; i++)
                    System.out.print("--");
                    System.out.println();

                    for(int j = 0 ; j < 4 ; j++){
                        for(int k = j + 1 ; k < 5 ; k++ ){
                            for(int l = k + 1 ;l < 6  ; l++ ){

                a = Math.sqrt(Math.pow((x[j][0]-x[k][0]),2)+Math.pow((x[j][1]-x[k][1]),2));
                b = Math.sqrt(Math.pow((x[j][0]-x[l][0]),2)+Math.pow((x[j][1]-x[l][1]),2));
                c = Math.sqrt(Math.pow((x[l][0]-x[k][0]),2)+Math.pow((x[l][1]-x[k][1]),2));
                    c1=Math.max(Math.max(a,b),c);
                    b1=Math.min(Math.min(a,b),c);
                    a1=(a+b+c)-c1-b1;
                if ( a1 > 0 && b1 > 0 && c1 > 0 && a1 + b1 > c1 && b1 + c1 > a1 && c1 + a1 > b1 ){  
                    if(Math.pow(c1,2) == (Math.pow(b1,2) + Math.pow(a1,2))){
                        if(a1==b1 || b1==c1 || c1==a1){
                            y = ("Right-angled\tIsosceles");
                            }
                            else if(a1!=b1 && b1!=c1 && c1!=a1){
                                y = ("Right-angled\tScalene");
                                }
                    }
                    else if(a1==b1 || b1==c1 || c1==a1){
                        y = ("Isosceles");
                    }
                    else if(a1!=b1 && b1!=c1 && c1!=a1){
                        y=("Scalene");
                    }
                }
                else{
                    y = ("Non-triangle");
                    }       
                            System.out.println("(" + x[j][0] + "," + x[j][1]+ ")\t\t" + "(" + x[k][0] + "," + x[k][1] + ")\t\t" + "(" + x [l][0] + "," + x[l][1]+")\t\t" + y );

            }
            }
            }
    System.out.print("Maximum area of triangle =" + Math.max(area()));
    System.out.print("Maximum area of triangle =" + Math.min(area()));
    }


    public static double area(double[][] n){
        double s = 0;
        int i;
        for(int j = 0 ; j < 4 ; j++){
            for(int k = j + 1 ; k < 5 ; k++ ){
                for(int l = k + 1 ;l < 6  ; l++ ){
                    a = Math.sqrt(Math.pow((x[j][0]-x[k][0]),2)+Math.pow((x[j][1]-x[k][1]),2));
                    b = Math.sqrt(Math.pow((x[j][0]-x[l][0]),2)+Math.pow((x[j][1]-x[l][1]),2));
                    c = Math.sqrt(Math.pow((x[l][0]-x[k][0]),2)+Math.pow((x[l][1]-x[k][1]),2));
                    s = (a+b+c)/2;
                        n[i][0] = Math.sqrt(s * (s-a) * (s-b) * (s-c));
                        i++;
                }
            }
        }
    return n[][];
    }
}

我有一个错误:'。class'预计,  我是初学者,请有人帮帮我吗? 很多

1 个答案:

答案 0 :(得分:0)

您发布的代码存在很多问题。比如分配给未定义的变量,例如区域方法中的以下内容:

a = Math.sqrt(Math.pow((x[j][0]-x[k][0]),2)+Math.pow((x[j][1]-x[k][1]),2));

您还在该语句中引用变量x,该变量不是正确的变量名。返回的返回类型和值不匹配,并且返回中存在语法问题。

使用像Eclipse这样的IDE会指出很多这些问题。我想你会在Eclipse中学习编码。

以下是运行代码的修订版。我不确定你要做什么的正确性:

public class assignment {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int m = 0, n = 0;
        int[][] x = new int[6][2];
        double a, b, c, a1, b1, c1;
        String y = "";
        System.out.println("Please enter six points,");
        for (int i = 0; i < x.length; i++) {
            for (int j = 0; j < x[i].length; j++)
                x[i][j] = input.nextInt();
        }

        for (int i = 0; i < 30; i++)
            System.out.print("--");
        System.out.print("\n\t\t\t\tTypes of Triangles\n");
        for (int i = 0; i < 30; i++)
            System.out.print("--");
        System.out.println();
        System.out.println("Point1\t\tPoint2\t\tPoint3\t\tType of Triangle");
        for (int i = 0; i < 30; i++)
            System.out.print("--");
        System.out.println();

        for (int j = 0; j < 4; j++) {
            for (int k = j + 1; k < 5; k++) {
                for (int l = k + 1; l < 6; l++) {

                    a = Math.sqrt(Math.pow((x[j][0] - x[k][0]), 2) + Math.pow((x[j][1] - x[k][1]), 2));
                    b = Math.sqrt(Math.pow((x[j][0] - x[l][0]), 2) + Math.pow((x[j][1] - x[l][1]), 2));
                    c = Math.sqrt(Math.pow((x[l][0] - x[k][0]), 2) + Math.pow((x[l][1] - x[k][1]), 2));
                    c1 = Math.max(Math.max(a, b), c);
                    b1 = Math.min(Math.min(a, b), c);
                    a1 = (a + b + c) - c1 - b1;
                    if (a1 > 0 && b1 > 0 && c1 > 0 && a1 + b1 > c1 && b1 + c1 > a1 && c1 + a1 > b1) {
                        if (Math.pow(c1, 2) == (Math.pow(b1, 2) + Math.pow(a1, 2))) {
                            if (a1 == b1 || b1 == c1 || c1 == a1) {
                                y = ("Right-angled\tIsosceles");
                            } else if (a1 != b1 && b1 != c1 && c1 != a1) {
                                y = ("Right-angled\tScalene");
                            }
                        } else if (a1 == b1 || b1 == c1 || c1 == a1) {
                            y = ("Isosceles");
                        } else if (a1 != b1 && b1 != c1 && c1 != a1) {
                            y = ("Scalene");
                        }
                    } else {
                        y = ("Non-triangle");
                    }
                    System.out.println("(" + x[j][0] + "," + x[j][1] + ")\t\t" + "(" + x[k][0] + "," + x[k][1] + ")\t\t" + "(" + x[l][0] + "," + x[l][1] + ")\t\t" + y);

                }
            }
        }
        System.out.print("Maximum area of triangle =" + area(x));
        //System.out.print("Maximum area of triangle =" + Math.min(area(x)));
    }

    public static double area(int[][] n) {
        double s = 0;
        double max = 0;
        for (int j = 0; j < 4; j++) {
            for (int k = j + 1; k < 5; k++) {
                for (int l = k + 1; l < 6; l++) {
                    double a = Math.sqrt(Math.pow((n[j][0] - n[k][0]), 2) + Math.pow((n[j][1] - n[k][1]), 2));
                    double b = Math.sqrt(Math.pow((n[j][0] - n[l][0]), 2) + Math.pow((n[j][1] - n[l][1]), 2));
                    double c = Math.sqrt(Math.pow((n[l][0] - n[k][0]), 2) + Math.pow((n[l][1] - n[k][1]), 2));
                    s = (a + b + c) / 2;
                    if (s > max) {
                        max = s;
                    }
                }
            }
        }
        return max;
    }
}