我得到了编译错误:')' expected error
,但正如您在下面的代码中看到的那样,没有任何不平衡的括号。可能是什么。
这是我在学校作业的代码:
import java.util.*;
import java.io.*;
public class Assignment7b {
public static void main(String[] args)throws FileNotFoundException {
ArrayMath A = new ArrayMath();
Scanner console = new Scanner(System.in);
System.out.print("Enter file name: ");
String fileName = console.next();
Scanner input = new Scanner(new File(fileName));
int[][] matrixA = makeMatrix(input);
int[][] matrixB = makeMatrix(input);
int[][] matrixC = makeMatrix(input);
int[][] matrixD = makeMatrix(input);
int[][] addResult = A.addArrays(matrixA, matrixB);
int[][] subResult = A.subArrays(matrixA, matrixB);
int[][] multResult = A.multArrays(matrixC, matrixD);
System.out.print("Output file name: ");
String outputFile = console.next();
output(outputFile, matrixA, matrixB, matrixC, matrixD, addResult, subResult, multResult);
}
public static int[][] makeMatrix(Scanner input) {
int rows = input.nextInt();
int col = input.nextInt();
int[][] thisMatrix = new int[rows][col];
for(int i = 0; i < rows; i++) {
input.nextLine();
for(int j = 0; j < col; j++) {
int num = input.nextInt();
thisMatrix[i][j]++;
}
}
return thisMatrix;
}
public static void output(String outputFile, int[][] matrixA, int[][] matrixB, int[][] matrixC, int[][] matrixD, int[][] addResult, int[][] subResult, int[][] multResult) throws FileNotFoundException {
PrintStream out = new PrintStream(new File(outputFile));
ArrayMath A = new ArrayMath();
out.print("MATRIX A: /n");
out.print(A.2dArrayText(matrixA));
out.print("MATRIX B: /n");
out.print(A.2dArrayText(matrixB));
out.print("A PLUS B: /n");
out.print(A.2dArrayText(addResult));
out.print("A MINUS B: n");
out.print(A.2dArrayText(subResult));
out.print("MATRIX C: n");
out.print(A.2dArrayText(matrixC));
out.print("MATRIX D: n");
out.print(A.print2dArray(matrixD));
out.print("C TIMES D: n");
out.print(A.2dArrayText(multResult));
}
}
我所有的out.print()行都有一个错误。我检查了所有地方,没有看到不平衡的括号,但我仍然会收到这样的错误
Assignment7b.java:47: ')' expected
我已经在谷歌上搜索了这个问题,但无法解决,所以我正在咨询Stack Overflow的专家。非常感谢您的帮助。
方法名不能像2dArrayText
那样以数字开头。这会使编译器感到困惑。
Repro
class X {
void y() {
System.out.println( A.1d());
}
}
javac X.java
X.java:3: error: ')' expected
System.out.println( A.1d());
^
答:不要将数字作为标识符的第一个字符。