2014-09-13 76 views
3

當我運行下面的代碼時顯示錯誤,指出掃描器無法解析輸入時出現「無法解析爲某種類型」。我檢查了jre的安裝版本是1.7,我還需要檢查什麼?請幫忙。當試圖使用掃描器

public class student { 

String name; 
int rollno; 
public void get(String nm, int rno) 
{ name=nm; 
rollno=rno; 
} 
public void display() 
{ System.out.println("Name of student is :" +name); 
System.out.println("Roll no of student is :" +rollno); 
} 
public static void main(String args[]) 
{ 
int i ; 
int r1; 
String n1; 
student obj[]= new student[10]; 
Scanner sc=new Scanner(System.in); 
for(i=0;i<10;i++) 
{ 
obj[i]= new student(); 
} 

for(i=0;i<10; i++) 
{ System.out.println("Enter name:"); 
n1=sc.next(); 
sc.nextLine(); 
System.out.println("Enter roll no :"); 
r1=sc.nextInt(); 


obj[i].get(n1,r1) ; 
obj[i].display() ; 
} 
} 
} 

回答

6

您還需要導入類本身。在文件的最頂端,上面public class student,您需要添加:

import java.util.Scanner; 

此外,我想提出幾個可能的更正:

  • 類名稱應該是PascalCase
  • 你的代碼應該有一致的縮進。 Ctrl + Shift + F是你的朋友。
+0

是的,我補充說。仍然是同一個問題 – user4036695 2014-09-13 02:09:47

+0

JRE的構建路徑上是否有'rt.lib'? – hexafraction 2014-09-13 02:10:34

+0

是的,它是在構建路徑 – user4036695 2014-09-13 02:24:01

1

我自己試過了代碼,它的工作原理。因此,這是一個配置問題。由於您試圖導入java.util.Scanner,因爲建議使用hexafraction,那麼我認爲JRE沒有正確配置。

嘗試:

  • 右鍵點擊你的項目名 - >點擊屬性 - >單擊Java構建路徑
  • 選擇庫選項卡
  • 單擊添加類文件夾(在右邊),然後選擇您的類。

編輯:即使這不會真的解決問題,複製src文件夾在一個新的項目可能會解決您的問題。

+1

我試過了,現在可以工作了。 thnx fr幫助 – user4036695 2014-09-13 02:33:58

0

通過在eclipse中右鍵單擊您的項目並單擊屬性來檢查代碼的編譯級別。

它可能指向1.6或更低。如果是這種情況,它到1.7

這可能會解決您的問題。

我希望它有幫助。

enter image description here

+0

我解決了這個問題。總之thnx fr的幫助。 – user4036695 2016-09-24 19:05:47

1

只需使用import java.util.Scanner;或使用import java.util.*;

+0

我解決了這個問題。總之thnx fr的幫助。 – user4036695 2016-09-24 19:05:12