Java编码问题
我正在为我的“java入门”编程课程编写代码,但我遇到了一个我真的不知道如何修复的错误。我一直有一个错误说:Java编码问题,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我正在为我的“java入门”编程课程编写代码,但我遇到了一个我真的不知道如何修复的错误。我一直有一个错误说: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown Scanner fileIn = new Scanner(hours); 代码如下: import java.util.Scanner; import java.io.F
unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
Scanner fileIn = new Scanner(hours);
代码如下:
import java.util.Scanner;
import java.io.File;
public class program2{
public static void main(String[] args) {
int[][] array = new int [8][7];
int[] total = new int [array.length];
int[] finalTotal = new int[array.length];
int[] employees = {0,1,2,3,4,5,6,7};
File hours = new File("prog2.dat"); //read file
Scanner fileIn = new Scanner(hours);//assign hours to array
while(fileIn.hasNext()){
for(int i = 0; i < 8; i++) {
for (int a = 0; a < 7; a++) {
int num =fileIn.nextInt();
array[i][a] = num;
}
}
}
fileIn.close(); //Closes file
// takes employees hour total
for(int i=0; i < 8; i++) {
total[i] = array[i][0] + array[i][1] + array[i][2] +
array[i][3] + array[i][4] + array[i][5] + array[i][6];
}
// takes the hours and sorts from greatest to least
for(int i= 0; i < 7; i++) {
int greatest = total[i];
for(int b = i+1; b < 8; b++) {
if(total[b] > greatest) {
int employeeTemp = employees[i];
employees[i] = employees[b];
employees[b] = employeeTemp;
int tempNum = greatest;
greatest = total[b];
total[i] = greatest;
total[b] = tempNum;
}
}
}
// print employee number and worked hours
for(int i = 0; i < 8; i++) {
System.out.println(" Employee #" + employees[i] + ": " +
total[i]);
}
}
}
import java.util.Scanner;
导入java.io.File;
公共课程2{
公共静态void main(字符串[]args){
int[][]数组=新int[8][7];
int[]总计=新的int[array.length];
int[]finalTotal=新的int[array.length];
int[]雇员={0,1,2,3,4,5,6,7};
文件小时数=新文件(“prog2.dat”);//读取文件
Scanner fileIn=new Scanner(小时);//为数组分配小时数
while(fileIn.hasNext()){
对于(int i=0;i<8;i++){
对于(int a=0;a<7;a++){
int num=fileIn.nextInt();
数组[i][a]=num;
}
}
}
fileIn.close();//关闭文件
//总共花费员工1小时
对于(int i=0;i<8;i++){
总计[i]=数组[i][0]+数组[i][1]+数组[i][2]+
数组[i][3]+数组[i][4]+数组[i][5]+数组[i][6];
}
//花费时间,从最大到最小排序
对于(int i=0;i<7;i++){
int最大=总[i];
对于(intb=i+1;b<8;b++){
如果(总计[b]>最大值){
int employeeTemp=员工[i];
雇员[i]=雇员[b];
雇员[b]=雇员临时工;
int tempNum=最大值;
最大=总[b];
总[i]=最大值;
总数[b]=tempNum;
}
}
}
//打印员工编号和工作时间
对于(int i=0;i<8;i++){
System.out.println(“Employee#”+employees[i]+”:“+
总计[一];
}
}
}
请尽可能提供帮助。声明抛出FileNotFoundException
,因此您必须处理它
Scanner fileIn = null;
try{
fileIn = new Scanner(hours)
}catch(FileNotFoundException e){
// write code that handles when this exceptional condition raises
}
或者重新命名它
public static void main(String[] args) throws FileNotFoudnException {
另请参见
FileNotFoundException
,因此您必须处理它
Scanner fileIn = null;
try{
fileIn = new Scanner(hours)
}catch(FileNotFoundException e){
// write code that handles when this exceptional condition raises
}
或者重新命名它
public static void main(String[] args) throws FileNotFoudnException {
另请参见
public static void main(String[] args) throws IOException {
然后阅读java语言,了解这意味着什么 将主方法的定义更改为:
public static void main(String[] args) throws IOException {
然后阅读java语言,了解这意味着什么 调用
Scanner fileIn=新扫描仪(小时)如果找不到文件,代码>可能会失败。在这种情况下,将抛出java.io.FileNotFoundException
。
Java在异常处理方面非常严格——您不能忽略这个潜在的异常,但必须以某种方式处理它
一种方法是向main
方法添加throws
子句:
public static void main(String[] args) throws FileNotFoundException {
在这种情况下,如果找不到文件,程序将崩溃。
处理此类问题的更好方法可能是显式捕获异常:
Scanner fileIn = null;
try {
File hours = new File("prog2.dat");
fileIn = new Scanner(hours);
} catch (FileNotFoundException e) {
System.out.println ("Can't find prog2.dat, quitting");
System.exit(1);
}
调用Scanner fileIn=new Scanner(小时)如果找不到文件,代码>可能会失败。在这种情况下,将抛出java.io.FileNotFoundException
。
Java在异常处理方面非常严格——您不能忽略这个潜在的异常,但必须以某种方式处理它
一种方法是向main
方法添加throws
子句:
public static void main(String[] args) throws FileNotFoundException {
在这种情况下,如果找不到文件,程序将崩溃。
处理此类问题的更好方法可能是显式捕获异常:
Scanner fileIn = null;
try {
File hours = new File("prog2.dat");
fileIn = new Scanner(hours);
} catch (FileNotFoundException e) {
System.out.println ("Can't find prog2.dat, quitting");
System.exit(1);
}
扫描仪文件输入=新扫描仪(小时)//为阵列分配小时数
这行代码抛出一个expectionFileNotFoundException
解决此问题有两种选择:
1) 抓住例外
Scanner fileIn = null;
try {
fileIn = new Scanner(hours);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//assign hours to array
2) 抛出异常:
public static void main(String[] args) throws FileNotFoundException {
扫描仪文件输入=新扫描仪(小时)//为阵列分配小时数
这行代码抛出一个expectionFileNotFoundException
解决此问题有两种选择:
1) 抓住例外
Scanner fileIn = null;
try {
fileIn = new Scanner(hours);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//assign hours to array
2) 抛出异常:
public static void main(String[] args) throws FileNotFoundException {
创建prog2.dat文件,并在该文件中输入一些小时
注意:您必须将prog2.dat保存到源目录中创建prog2.dat文件,并在该文件中输入一些小时
注意:您必须将prog2.dat保存到源目录中如何才能找到该文件?这与缺少的文件无关。这是一条编译器消息。似乎与此相关,而不是重复。他们在“java入门”编程课程中没有告诉您使用IDE(如Eclipse at)有帮助吗?我应该怎么做才能找到文件?这不是关于丢失的文件。这是一条编译器消息。似乎与此相关,而不是重复。在“java入门”编程课程中,他们没有告诉您使用IDE(如Eclipse at)有帮助吗?完成此操作后,我的编译器告诉我,它找不到IOException为symbolAddimport java.io.IOException的符号代码>在文件的开头。实际上,开始学习java,而不是键入一些看起来像代码的文本代码>在文件的开头。实际上,开始学习java,而不是键入一些看起来像代码的文本。当我这样做时,我的编译器说它找不到符号:publicstaticvoidmain(String[]args)抛出FileNotFoundException您需要导入import java.io.FileNotFoundException
aka只需在eclipse中按Shift+Ctrl+O,当我这样做时,我的编译器说它找不到符号:public static void main(String[]args)抛出FileNotFoundException您需要导入import java.io.FileNotFoundException在Eclipse中只需按Shift+Ctrl+O即可