Tôi đang cố tải một tệp có tên Tut16_ReadText.txt và cho nó chạy một chương trình để xuất ra dù nó nặng hay nhẹ.
Tôi đã nhận được lỗi dán bên dưới. Tôi không thể chạy được chương trình này. Bất cứ ai có thể giải thích những gì tôi phải làm để chương trình này hoạt động?
谢谢,
import java.io.BufferedReader;
nhập java.io.FileReader;
import java.io.IOException;
bài kiểm tra lớp công khai1 {
public static void main(String args[]) ném ngoại lệ {
if (args.length != 1) {
System.out.println("cách sử dụng: Tut16_ReadText file1");
}
BufferedReader br = null;
thử {
br = BufferedReader mới(FileReader mới("F:/Programming/Java/Week16/Tut16_ReadText.txt"));
Chuỗi sCurrentLine;
int tổng số từ = 0, tổng số ký tự = 0;
while ((sCurrentLine = br.readLine()) != null) {
Chuỗi từ[] = sCurrentLine.split(" ");
tổng số từ += từ.độ dài;
for (int j = 0; j
tổng số += từ[j].length();
}
}
mật độ gấp đôi = (1,0 * tổng số ký tự) / tổng số từ;
nếu (tổng số > 0) {
System.out.print(args[0] + " : " + mật độ + " : ");
nếu (mật độ > 6,0)
System.out.println("nặng");
khác
System.out.println("ánh sáng");
} else
System.out.println("Đây là lỗi - mật độ bằng 0.");
br.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
thử {
if (br != null)br.close();
} bắt (IOException cũ) {
ex.printStackTrace();
}
}
}
}
Cách sử dụng: Tut16_ReadText file1 Ngoại lệ trong luồng "chính" java.lang.ArrayIndexOutOfBoundsException: 0 tại test1.main(test1.java:28)
Bạn đang cố truy cập một chỉ mục vào mảng 'args' không tồn tại.
Dòng này:
System.out.print(args[0] + " : " + mật độ + " : ");
Truy cập args[0] cần được cung cấp khi chạy chương trình.
Hãy thử sử dụng
java test1 tham số đầu vào của bạn
Chạy chương trình và nó sẽ hoạt động.
Ngoài ra; trong những dòng này ở đầu chương trình:
if (args.length != 1) {
System.out.println("cách sử dụng: Tut16_ReadText file1");
}
bạn nên thêm một
System.exit(0);
Bằng cách này, nếu bạn nhập số lượng đối số không chính xác, phần còn lại của chương trình sẽ không chạy.
Tôi là một lập trình viên xuất sắc, rất giỏi!