2015-05-12 19 views
-1

我想弄清楚如何讓我的數組正確運行,我知道我必須將數組值改爲輸入,但我不能讓程序編譯,如果任何人可以幫助很棒。 我想讓程序爲學生的成績和姓名提供輸入,並最終輸出他們的姓名和成績。 編輯抱歉,這是我第一次發佈它,我有一個錯誤 Student.java:60:錯誤:類,接口,或枚舉預期我在java的101所以這就是爲什麼它是如此低的水平的Java,我們只有掌握了基礎知識如何解決我的Array類

import java.util.Scanner; 

public class students 
{ 
    public static void main(String[] args) 
    { 
     Scanner keyboard = new Scanner(System.in); 

     System.out.println("How many students?: "); 
     int numofstudents = keyboard.nextInt(); 

     Student s = new Student(); 

     s.setMultipleStudents(); 
     s.toString(); 


     System.out.println("Enter the Grade for the student: "); 
     int gradeofstudnets = keyboard.nextInt(); 


    } 
} 

和我的第二類是

import java.util.Scanner; 

public class Student 
    { 

    Scanner scan = new Scanner(System.in); 
    private String name; 
    private int grade; 
    private int[] multiplegradeinputs = new int[10]; 
    private String[] multipleStudent = new String[10]; 

    public Student() 
    { 
    } 

    public Student(String n, int g) 
    { 
     name = n; 
     grade = g; 
    } 

    public String setMultipleStudents() 
    { 
     String n = ""; 
     for(int i = 1; i < multipleStudent.length; i++) 
     { 
     System.out.println("Enter student #" + i +" name: "); 
     n = scan.nextLine(); 
     multipleStudent[i] = n; 

     } 

     return null; 
    } 



    public String multiplegradeinputs() 
    { 
     for(int i = 1; i <multiplegradeinputs.length; i++) 
     { 
     System.out.println("Enter the Grade of the student#" + i +" : "); 
     grade = scan.nextInt(); 
     multiplegradeinputs[i] = grade; 
     } 
    } <--- error here 

    public String toString() 
    { 
     String temp = ""; 
     for(int i = 1; i < multipleStudent.length; i++) 
     { 
     temp += multipleStudent[i] + " "; 
     } 

     return temp; 

    } 
} 
+3

什麼是編譯錯誤? – Aify

+1

您在這裏提供了極其細微的細節。如果你需要幫助,你需要更多地解釋你的程序應該做什麼以及你遇到的具體問題。 – tnw

+0

Java是一種面向對象的語言。單獨的學生和年級陣列對我來說感覺不太好。數組結構太低。考慮像List這樣的Java集合。 – duffymo

回答

0

你缺少的multiplegradeinputs()方法的返回值。在multiplegradeinputs()方法

+0

這不是一個答案,這是一個評論。 –

+0

我可以刪除問號,因爲他/她缺少字符串的返回值,這會導致編譯錯誤:) – nullptrex

2

添加return語句:

public String multiplegradeinputs() 
{ 
    for(int i = 1; i <multiplegradeinputs.length; i++) 
    { 
    System.out.println("Enter the Grade of the student#" + i +" : "); 
    grade = scan.nextInt(); 
    multiplegradeinputs[i] = grade; 
    } 
    return null; //Add this line 
} 

或者改變你的方法,如果他們不返回任何東西到返回void類型。

0

您應該創建一個Student對象來保存學生的屬性,例如名字和成績。然後,您應該將所有學生對象存儲在某種數據結構中,例如學生類中的數組列表。

1

類名稱必須用Java資本化,所以不是

public class students 

你應該寫

public class Students 

此外,而不是寫

keyboard.nextInt(); 

你應該寫

Integer.parseInt(keyboard.nextLine()); 

這主要是因爲Java充滿了錯誤和技術規格,您不會輕易找到它。讓我知道這是否爲你修復它,因爲你沒有發佈你得到的確切的錯誤消息。

至於你指出了錯誤,那是因爲你的函數需要一個字符串作爲返回值不管是什麼,所以要麼改變,如果你能夠,或者返回一個空字符串,從而無效。要做到這一點,只需在方法的最後添加以下行。

return null; 
+0

我已經看到parseInt在線研究了一下,但是我們並沒有在課堂上理解這一點,只知道java的最小值 – mcginley182

0

添加到由@hitz提供的答案

你有一個錯誤在for循環:

for(int i = 1; i <multiplegradeinputs.length; i++) 

for(int i = 1; i < multipleStudent.length; i++) 

你將永遠不會填充multiplegradeinputs[0]multipleStudent[0]因爲你index == 1開始循環,因此您只能存儲9個學生名稱而不是10個。

更改爲:

for(int i = 0; i <multiplegradeinputs.length; i++) 

for(int i = 0; i < multipleStudent.length; i++) 

記住,即使在10的長度,指數始終以0開始在Java和你的情況將與9

0
import java.util.Scanner; 

公共類學生 結束{

Scanner scan = new Scanner(System.in); 
private String name; 
private int grade; 
private int[] multiplegradeinputs = new int[10]; 
private String[] multipleStudent = new String[10]; 

public Student() 
{ 
} 

public Student(String n, int g) 
{ 
    name = n; 
    grade = g; 
} 

public String setMultipleStudents() 
{ 
    String n = ""; 
    for(int i = 1; i < multipleStudent.length; i++) 
    { 
    System.out.println("Enter student #" + i +" name: "); 
    n = scan.nextLine(); 
    multipleStudent[i] = n; 

    } 

    return null; 
} 



public void multiplegradeinputs() 
{ 
    for(int i = 1; i <multiplegradeinputs.length; i++) 
    { 
    System.out.println("Enter the Grade of the student#" + i +" : "); 
    grade = scan.nextInt(); 
    multiplegradeinputs[i] = grade; 
    } 
} 

public String toString() 
{ 
    String temp = ""; 
    for(int i = 1; i < multipleStudent.length; i++) 
    { 
    temp += multipleStudent[i] + " "; 
    } 

    return temp; 

} 
} 

這是第二類

import java.util.Scanner; 

public class students 
{ 
    public static void main(String[] args) 
    { 
     Scanner keyboard = new Scanner(System.in); 

    System.out.println("How many students?: "); 
    int numofstudents = keyboard.nextInt(); 

    Student s = new Student(); 

    s.setMultipleStudents(); 
    s.toString(); 


    System.out.println("Enter the Grade for the student: "); 
    int gradeofstudnets = keyboard.nextInt(); 


    } 
}