2017-04-14 189 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); 
} 
} 

我想创建一个学生信息文件并显示它,但我找不到方法来做到这一点。谁能帮我修复代码? 我被要求在班级注册(主要方法)中显示学生信息,并且在班级Student和Subject.i中给出的主题信息不知道如何链接这三件事,尽管它需要在班级Student中使用displayStudInfo方法并且类Subject中的displaySubjectInfo。如何修复与Java显示代码

+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

非常感谢你Beri。那完全解决了我的问题〜 –

+0

请解决问题。乐于帮助:) – Beri