2013-09-26 16 views
-2

我們的任務目標是實現兩個不同的類(學生,年級)3年級學生,發現這裏的平均 是我迄今爲止,林具有在我的計劃「鍵盤」麻煩

public class Program01 
    { 
    public static void main(String[] args) 
    { 

      Student bob, john, matt; 
      Grades grades; 

      grades = new Grades(); 

      double bobgrade, johngrade, mattgrade; 

      bob = new Student(); 
      john = new Student(); 
      matt = new Student(); 

      bob.setup(); 
      john.setup(); 
      matt.setup(); 

      bob.display(); 
      john.display(); 
      matt.display(); 

      bobgrade = bob.overallGrade(); 
      johngrade = john.overallGrade(); 
      mattgrade = matt.overallGrade(); 

      grades.average(bobgrade, johngrade, mattgrade); 



    System.out.println("The overall grade for the class is: " + grades.theSectionAverage); 
      } 






public class Student 
{ 
    Grades grades; 
    String fullName, firstName, lastName, name; 
    int studentProgramGrade, studentExamGrade; 

    public void setup(){ 
    setName(); 
    setGrades(); 
    } 

    public void setName() 
    { 

    System.out.print("Please, enter the student's name in the form of Doe, John or Smith, Jane:"); 
    fullName = Keyboard.readString(); 

    firstName = fullName.substring(fullName.indexOf(" ") + 1, fullName.length()); 
    lastName = fullName.substring(0, fullName.indexOf(",")); 


    name = firstName + " " + lastName; 
    } 

    public void setGrades() 
    { 
    studentExamGrade = grades.setupExam(name); 
    studentProgramGrade = grades.setupProgram(name); 
    } 

    public void display() 
    { 
    System.out.println(name + " " + grades.display()); 
    } 

    public double overallGrade() 
    { 
    final double PROGRAM_WEIGHT = 0.40; 
    final double EXAM_WEIGHT = 1 - PROGRAM_WEIGHT; 

    double theOverallGrade; 

    theOverallGrade = studentProgramGrade * PROGRAM_WEIGHT + studentExamGrade * EXAM_WEIGHT; 

    return theOverallGrade; 
    } 
} 






    public class Grades { 


    int programGrade, examGrade; 
    double theSectionAverage; 

    public int setupExam(String studentname) 
    { 
    System.out.print("Please, enter the exam grade for " + studentname + ":"); 
    examGrade = Keyboard.readInt(); 


    return examGrade; 
    } 

    public int setupProgram(String studentname) 
    { 
    System.out.print("Please, enter the program grade for " + studentname + ":"); 
    programGrade = Keyboard.readInt(); 

    return programGrade; 
    } 

    public String display() 
    { 
    return programGrade + " " + examGrade; 
    } 

    public double average(double bobgrade, double johngrade, double mattgrade) 
    { 
    theSectionAverage = bobgrade + johngrade + mattgrade/3; 

    return theSectionAverage; 
    } 
    } 

每當我嘗試運行此,我不斷收到此錯誤:螺紋

異常「主要」 java.lang.Error的:未解決的問題,編譯: 鍵盤不能得到解決

at Student.setName(Student.java:18) 
at Student.setup(Student.java:10) 
at Program01.main(Program01.java:19) 

任何幫助將不勝感激。

+0

正如它所說..什麼是'鍵盤'? – Maroun

+1

如果'鍵盤'是一個我懷疑它是掃描儀,你既不聲明也不初始化它。 –

+0

@WilliamGaul我認爲這是一個外部類或什麼.. – Maroun

回答

-1

使用

Scanner sc = new Scanner(System.in); 

代替鍵盤

+3

downvoters發表評論 – SpringLearner

1

我認爲你想在你的程序中使用ScannerKeyboard

包括以下行的文件

import java.util.Scanner;

,並創建它的一個實例。

Scanner keyboard = new Scanner(System.in);

或者你有,有一個叫Keyboard然後將該文件導入到你的程序類的一些其他的API。

注:順便說Scanner沒有readInt()方法,它只有nextInt()

This error may happen when you use Eclipse as IDE and try to run code that doesn't even compile. Check your Problems view in Eclipse, and fix the compilation errors before executing the application.

+0

謝謝你的回答,但請你解釋一下我應該在哪裏加入'import java.util.scanner;'在文件中?如果你有'package'聲明,那麼在文件頂部的java – gvnvhri

+0

相當新。 – smajlo

+0

@gvnvhri因爲你的所有類都是公共的,所以你應該在每個類的自己的文件中定義每個類,在任何使用'Scanner'的類中你都必須包含'import java.util.Scanner'。import語句應該是文件中的第一行(如果你不使用包) –