2017-04-14 25 views
-1
import java.util.Scanner; 
import java.util.Formatter; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
    class Enrolment{ 
    public static void main(String[] args) 
{ 
    System.out.println("/*-------------------------------------"); 
    System.out.println("My name: XIANGYU QIAO"); 
    System.out.println("My student number: 5089864"); 
    System.out.println("My email address: [email protected]"); 
    System.out.println("Assignment number: 2"); 
    System.out.println("-------------------------------------*/"); 
    System.out.print("\nStudent " + Fullname + Email + Course+ Studentnumber); 
    System.out.print("\nEnrolment " + Subjectcode + session + Year); 
} 
} 
    class Student{ 
     private static Formatter outStream; 
    private static Scanner inStream; 

    public Student() throws IOException 
    { 
    outStream = new Formatter(new File("student1.txt")); 
    String fullName = "David Black"; 
    String email = "[email protected]"; 
    String course = "1853E"; 
    sNumber = 375428; 
    outStream.format("%s %s %s %i", fullName, email, course, sNumber); 
outStream.close(); 
    inStream = new Scanner(new File("student1.txt")); 
    String Fullname = inStream.next(); 
    String Email = inStream.next(); 
String Course = inStream.next(); 
int Studentnumber = inStream.nextInt(); 
inStream.close(); 

} 
    public void displayStudInfo() 
{ 
System.out.print("\nStudent " + Fullname + Email + Course+ Studentnumber); 
} 
} 
class Subject{ 
private static Formatter outStream; 
    private static Scanner inStream; 

    public Subject() throws IOException 
    { 
    outStream = new Formatter(new File("subject1.txt")); 
    String sCode = "CSIT455"; 
    String session = "Autmn"; 
    int year = 2017; 
    outStream.format("%s %s %i", sCode, session, year); 
    outStream.close(); 
    inStream = new Scanner(new File("subject1.txt")); 
    String Subjectcode = inStream.next(); 
    String Session = inStream.next(); 
int Year = inStream.nextInt(); 
inStream.close(); 
    System.out.print("\nEnrolment " + Subjectcode + session + Year); 
} 
} 

学生情報のファイルを作成して表示しようとしていますが、その方法を見つけることができませんでした。コードを修正するのに誰も助けてくれますか? クラスEnrollment(ここのメインメソッド)に学生情報を表示するように求められ、クラスStudentとSubject.iで与えられたサブジェクト情報は、StudentクラスのdisplayStudInfoメソッドを使用する必要がありますが、 SubjectクラスのdisplaySubjectInfoJavaコードでコードを修正する方法

+0

そのコードの出力は何ですか?期待したことは? –

+0

こんにちは、あなたが達成しようとしていることについてもう少し詳細を教えてください。あなたのコードには何が間違っていますか?それがレビューの場合は、おそらくあなたは[codereview](https://codereview.stackexchange.com/) –

+0

で助けを求める必要があります探しているプロジェクト内の他のクラスは何ですか? OOPの概念を使用してあなたを助けることができるとします。 –

答えて

0

正しく理解すれば、displayStudInfoメソッドのコンストラクタからプロパティにアクセスすることはできません。これらのプロパティをクラスプロパティに割り当てると、問題が解決されます。

class Student { 

private final String fullname; 
private final String email; 
private final String course; 
private final int studentNumber; 

public Student() throws IOException { 
    writeStudent(); 

    Scanner inStream = new Scanner(new File("student1.txt")); 
    fullname = inStream.next(); 
    email = inStream.next(); 
    course = inStream.next(); 
    studentNumber = inStream.nextInt(); 
    inStream.close(); 
} 

private void writeStudent() throws FileNotFoundException { 
    Formatter outStream = new Formatter(new File("student1.txt")); 

    outStream.format("%s %s %s %i", "David Black", "[email protected]", "1853E", 375428); 
    outStream.close(); 
} 

public void displayStudInfo() { 
    System.out.print("\nStudent " + fullname + email + course + studentNumber); 
} 

}

あなたが任意の複数のクラス小道具を追加したくない場合は、あなたの方法に広告の引数にする必要があります:

public void displayStudInfo(String fullname,String email,String course, int studentNumber) { 
    System.out.print("\nStudent " + fullname + email + course + studentNumber); 
} 
+0

ありがとうございます。それは私の問題を完全に解決しました〜 –

+0

それから問題を解決してください。お力になれて、嬉しいです:) – Beri

関連する問題