Как передать пользовательский ввод в конструктор в java - PullRequest
0 голосов
/ 14 апреля 2020

Итак, я сначала проверял кое-что перед тем, как сделать домашнее задание Моя цель состоит в том, чтобы пользователь ввел свое имя, курс и номер студента, верно?

Теперь в задании сказано, что у него есть объект "ученик".

Теперь я хочу передать эти пользовательские входные данные в конструктор и отобразить его.

к сожалению, есть ошибка «на переменную non-stati c нельзя ссылаться» (это мой первый раз, когда я получаю эту ошибку)

Кроме того, я как бы основываюсь на этом посте здесь: Могу ли я передать пользовательский ввод моему конструктору

любая помощь будет оценена!

import java.lang.*;
import java.util.Scanner;

public class Student {

int student_num;
String name, course;

public Student (String n, String c, int sn) {
    name = n;
    student_num = sn;
    course = c;
}




    public static void main (String[]args) {

    Student pupil = new Student(name, course, student_num);  

        Scanner input = new Scanner(System.in);
            System.out.println("Enter Name:");
            String name = input.nextLine();

            System.out.println("Enter Course:");
            String course = input.nextLine();

            System.out.println("Enter Student Number:");
            int student_num = input.nextInt();


            System.out.println();
            System.out.println("Name:" +name);
            System.out.println("Course:" +course);
            System.out.println("Student Number:" +student_num);



System.exit(0);   

}

}

1 Ответ

1 голос
/ 14 апреля 2020

Есть проблема с этой строкой Student pupil = new Student(name, course, student_num); Вы ссылаетесь здесь на переменную экземпляра из состояния c контекста ... поэтому она не работает. На самом деле эта строка должна быть последней, когда вы получили все данные от пользователя и создали из них эти данные.

...