测试我的方法时接收InputMismatchException

时间:2013-12-10 18:11:39

标签: java io writer

这是我第一次使用Java进行i / o操作,并且我正在尝试进行一项练习,告诉我要执行以下操作:

  

你有一个文件“scores.txt”,它有n + 1行,第一行的数字是n。在另外的行上有一个ID号和一个分数,用空格(“”)分隔。

     

创建一个方法( public static void hackScores(String myID); ),该方法读取和写入文件,除了与您的ID号相关联的分数外,所有内容都相同。只有当分数低于10时,才应将其设置为10.(这是唯一可以更改文件的内容)。

这是输入/输出示例:

这是一个i / o示例(格式不正确,因为它被识别为代码,不会让我提交。)

input:

3  
000123 15  
000124 18  
000125 9  
______________________________________
Argument for the hackScores function:

000125
______________________________________
output:

3  
000123 15  
000124 18  
000125 10

这是我尝试过的:

import java.util.Scanner;
import java.io.FileWriter;
import java.io.IOException;
public class Scores
{
        public static void hackScores(String myID)
        {
            try
            {
                Scanner sc = new Scanner("scores.txt");       
                int n = sc.nextInt();    

                FileWriter w = new FileWriter("scores.txt");
                for(int i = 0; i < n; i++) 
                {
                    int idnumber = sc.nextInt();
                    int score = sc.nextInt();
                    if(idnumber == Integer.parseInt(myID))
                    {
                        if(score < 10)
                        {
                            score = 10;
                        }
                    }
                    w.write(idnumber + " " + score);
                }

                w.close();
                sc.close();
            }
            catch(IOException ex)
            {
                System.out.println("Something went wrong while creating the new textfile");
            }
        }   
}

不幸的是,在使用本练习附带的单元测试测试此类时,它会告诉我以下内容:

  

没有异常消息

     
     

java.util.InputMismatchException

     at ...

我做错了什么?

(顺便说一句,我原来的代码里面有一些荷兰语,所以我决定将它翻译成英文,以方便你。我可以发布单元测试,如果它有用,但它会有荷兰文在它和类和方法(以及其他东西)将有不同的名称)

0 个答案:

没有答案