2016-10-07 12 views
-1

私は割り当てがあり、スキャナでテキストファイルをjavaで読み取るプログラムを作成しようとしています。 しかし、何らかのデータを入力しようとすると、入力ミスマッチ例外が表示されます。ここでスキャナで入力ミスマッチ例外

import java.util.*; 
    import java.io.*; 
    public class Schedule 
    { 
    public static void main(String[] args) 
    { 
     Scanner input = new Scanner (System.in); 
     Scanner sc = null; 
     try 
     { 

      sc = new Scanner (new FileReader("E:\\Documents\\Java\\Hackathon2016\\Sample_Folder\\Monday.txt")); 
     System.out.println("Enter Subject Code"); 
      subject = input.next(); 
      while (sc.hasNext()) 
      { 
       int time = sc.next(); 
       subjects = sc.next(); 
       String prof = sc.next(); 
       room = sc.nextInt(); 

       if (subject.equalsIgnoreCase (subjects)) 
       { 
        System.out.print ("Your Schedule is at "+time+subject+prof+room); 
       } 
      } 
     } 
     catch (IOException e) 
     { 
      e.getMessage(); 
     } 
    } 
} 

txtファイルの内容である:ここで

は私のコードです

TIME SUBJECT Professor Room 
07:00am-09:30am Physics1A Ma'am_Mina CON416 
10:00am-11:30am MATH21 Sir_Andrew TBA_Anscie 
11:30am-1:00pm SOSC3A Ma'am_Filart TBA_CON 
01:00pm-4:00pm CCTN 50 Sir_Jake DCEE_101 

それは、誰かが助けを与えることができ、入力不一致例外 を言い続け? おかげ

+0

実際のエラーメッセージを表示してください。 – Li357

+0

最初の見た目では(もちろん "hackathon"の外に)部屋のエントリーはintではないようですが、sc.nextInt()としてスキャンしようとしています。 – hammerfest

+1

多くの変数が定義されていないだけでなく、このコードはコンパイルされません。たとえば、[next()](http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#next)のために、 'int time = sc.next();'はコンパイルされません。 ()は 'String'を返し、それを' int'変数に代入しようとします。また、できるだけ早くヘルプを表示するには、表示されているとおりに正確なエラーメッセージを投稿してください(コピー/ペースト)。 – A4L

答えて

0

私はあなたのコードは、この

public static void main(String[] args) 
{ 
    Scanner input = new Scanner (System.in); 
    Scanner sc = null; 
    try 
    { 

     sc = new Scanner (new FileReader("E:\\Documents\\Java\\Hackathon2016\\Sample_Folder\\Monday.txt")); 
     System.out.println("Enter Subject Code"); 
     String subject = input.next(); 
     while (sc.hasNext()) 
     { 
      String time = sc.next(); 
      String subjects = sc.next(); 
      String prof = sc.next(); 
      String room = sc.next(); 

      if (subject.equalsIgnoreCase (subjects)) 
      { 
       System.out.print ("Your Schedule is at "+time+subject+prof+room); 
      } 
     } 
    } 
    catch (IOException e) 
    { 
     e.getMessage(); 
    }  
} 

とデータ線数4
午前1時pm-4:00pmのCCTN 50 Sir_Jake DCEE_101
のために、私はそれが
されるべきだと思うようにすべきだと思います01:00 pm-4:00pm CCTN50 Sir_Jake DCEE_101

+0

Thnaksそれは動作します! –

+0

あなたは大歓迎です –

関連する問題