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

我正在为我的“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.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);
}

扫描仪文件输入=新扫描仪(小时)//为阵列分配小时数

这行代码抛出一个expection
FileNotFoundException

解决此问题有两种选择:

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  { 

扫描仪文件输入=新扫描仪(小时)//为阵列分配小时数

这行代码抛出一个expection
FileNotFoundException

解决此问题有两种选择:

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为symbolAdd
import 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