Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java方法中创建对象 公共静态字符串[]表单(){ 扫描仪输入=新扫描仪(System.in); 字符串数组[]; 数组=新字符串[2]; RegistrationForm RegisteredStudents=新的RegistrationForm(); 对于(inti=0;i_Java_Oop_Object_Instance Variables - Fatal编程技术网

在Java方法中创建对象 公共静态字符串[]表单(){ 扫描仪输入=新扫描仪(System.in); 字符串数组[]; 数组=新字符串[2]; RegistrationForm RegisteredStudents=新的RegistrationForm(); 对于(inti=0;i

在Java方法中创建对象 公共静态字符串[]表单(){ 扫描仪输入=新扫描仪(System.in); 字符串数组[]; 数组=新字符串[2]; RegistrationForm RegisteredStudents=新的RegistrationForm(); 对于(inti=0;i,java,oop,object,instance-variables,Java,Oop,Object,Instance Variables,这样的东西就可以了 我建议您使用Arraylist而不是array,但我认为这是一些课堂作业,所以我不会对您的示例进行太多修改 public static String[] Form() { Scanner Input=new Scanner(System.in); String array[]; array = new String[2]; RegistrationForm RegisteredStudents = new Re

这样的东西就可以了

我建议您使用Arraylist而不是array,但我认为这是一些课堂作业,所以我不会对您的示例进行太多修改

public static String[] Form() {
        Scanner Input=new Scanner(System.in); 
        String array[];
        array = new String[2];
        RegistrationForm RegisteredStudents = new RegistrationForm();
        for(int i=0; i<2; i++){
            System.out.println("Enter Name");
            String name= Input.next();
            System.out.println("Enter Address");
            String address= Input.next();
            System.out.println("Enter E-Mail");
            String email= Input.next();
            System.out.println(i+1+" Student Registration complete");
            System.out.println("Your Rollnumber is "+(i+1));
            int roll=i+1;
            String array[i]=new array(name,address,email,roll);
    }
return array;}
import java.util.Scanner;
类客户{
私有字符串名称;
私有字符串地址;
私人字符串电子邮件;
私人整数滚动;
公共客户(字符串名称、字符串地址、字符串电子邮件、整数滚动){
this.name=名称;
this.address=地址;
this.email=电子邮件;
this.roll=roll;
}
公共int getRoll(){
回程辊;
}
公共字符串getName(){
返回名称;
}
公共字符串getAddress(){
回信地址;
}
公共字符串getEmail(){
回复邮件;
}
}
课堂擦伤{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
客户[]=新客户[10];
对于(int i=0;i<2;i++){
System.out.println(“输入名称”);
String name=Input.next();
System.out.println(“输入地址”);
字符串地址=Input.next();
System.out.println(“输入电子邮件”);
字符串email=Input.next();
系统输出打印项次(i+1+“学生注册完成”);
println(“您的卷号是”+(i+1));
整卷=i+1;
客户[i]=新客户(姓名、地址、电子邮件、名单);
}
}
}

是的,您可以在Java中以任何类型的方法创建对象。因此,根据您的代码片段,您正在尝试将具有一组属性的学生存储在一个数组中。要实现这一点,我认为最好的方法是在您不确定要注册的学生人数,但您确切知道人数的情况下使用ArrayList[这意味着如果您可以指定数组大小]您可以使用数组。但在这两种方法中,您首先需要有一个包含学生属性的模型类。创建学生模型类后,您可以创建一个数组或学生的ArrayList类型。然后您可以将学生详细信息存储在所选方法中

例:

步骤1:创建学生模型类

import java.util.Scanner;

class Customer {

    private String name;
    private String address;
    private String email;
    private int roll;

    public Customer(String name, String address, String email, int roll) {
        this.name = name;
        this.address = address;
        this.email = email;
        this.roll = roll;
    }

    public int getRoll() {
        return roll;
    }

    public String getName() {
        return name;
    }

    public String getAddress() {
        return address;
    }

    public String getEmail() {
        return email;
    }
}

class Scratch {
    public static void main(String[] args) {
        Scanner Input = new Scanner(System.in);
        Customer customers[] = new Customer[10];
        for (int i = 0; i < 2; i++) {
            System.out.println("Enter Name");
            String name = Input.next();
            System.out.println("Enter Address");
            String address = Input.next();
            System.out.println("Enter E-Mail");
            String email = Input.next();
            System.out.println(i + 1 + " Student Registration complete");
            System.out.println("Your Rollnumber is " + (i + 1));
            int roll = i + 1;
            customers[i] = new Customer(name, address, email, roll);
        }
    }
}
步骤2:ArrayList或数组实现

使用数组实现

 public class Student {
         
        //Member variables
        private String name;
        private String address;
        private String email;
        private int roll;
    
        //Default constructor
        public Student(){}

       //Overloaded constructor
        public Student(String name, String address, String email, int roll) {
            this.name = name;
            this.address = address;
            this.email = email;
            this.roll = roll;
        }

        //Getters and Setters
        public void setRoll(int roll){
             this.roll = roll;
        }

        public int getRoll() {
            return roll;
        }
    
        public void setName(String name){
            this.name =name;   
        }
        public String getName() {
            return name;
        }
        public void setAddress(String address){
            this.address = address;
        }
       
        public String getAddress() {
            return address;
        }
         public void setEmail(String email){
            this.email = email;
         }
        public String getEmail() {
            return email;
        }

    //Better if you can also implement the toString() method in here
    }
公共类表单{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
//学生类型数组的创建
学生sarr[]=新学生网[10];//考虑到只有10名学生需要注册
对于(int i=0;i<10;i++){
System.out.println(“输入名称”);
String name=Input.next();
System.out.println(“输入地址”);
字符串地址=Input.next();
System.out.println(“输入电子邮件”);
字符串email=Input.next();
整卷=i+1;
studentsArr[i]=新学生(姓名、地址、电子邮件、学籍);
系统输出打印项次(i+1+“学生注册完成”);
println(“您的卷号是”+(i+1));
}
}
}
使用ArrayList实现

public class Form{

     public static void main(String[] args) {
            Scanner Input = new Scanner(System.in);
            //Creation of Student type array
            Student studentsArr[] = new Studnet[10]; //Considering there are only 10 Students to register
            for (int i = 0; i < 10; i++) {
                System.out.println("Enter Name");
                String name = Input.next();
                System.out.println("Enter Address");
                String address = Input.next();
                System.out.println("Enter E-Mail");
                String email = Input.next();
                int roll = i + 1;
                studentsArr[i] = new Student(name, address, email, roll);
                System.out.println(i + 1 + " Student Registration complete");
                System.out.println("Your Rollnumber is " + (i + 1));
            }
        }
}


公共类表单{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
//学生类型数组的创建
List studentsList=new ArrayList();//不知道学生人数,因为我们使用的是列表
int end=0;//终止条件初始值
int键=-1;
做{
key++;
System.out.println(“输入名称”);
String name=Input.next();
System.out.println(“输入地址”);
字符串地址=Input.next();
System.out.println(“输入电子邮件”);
字符串email=Input.next();
int roll=键+1;
学生列表。添加(新学生(姓名、地址、电子邮件、,
滚动);//将新学员添加到列表中
System.out.println(键+1+“学生注册完成”);
System.out.println(“您的卷号是”+(键+1));
System.out.println(“按0继续或按-1结束进程”);
end=input.nextInt();
}while(end!=-1);
}
}

1.是的,您可以从包括main在内的任何方法创建对象。2.是的,只要“不同的数据”与您声明的数组的数据类型相同。
新数组(名称、地址、电子邮件、滚动)
-这将无法编译。您必须创建一个名为
array
的类,该类必须扩展
String
-这是不可能的,因为
String
final
。顺便说一句。请遵循Java命名约定-变量名以“lowerCamelCase”编写您正在使用数组存储某些实体(可能是学生)的不同属性。您应该使用这些属性创建一个类
student
。您还应该学习面向对象编程的基础知识。
public class Form{

     public static void main(String[] args) {
            Scanner Input = new Scanner(System.in);
            //Creation of Student type array
            List<Student> studentsList = new ArrayList<>(); //Doesn't know the students count ,because of that we are using a list
            int end = 0;//Terminating condition initial value
            int key = -1;
            do{
                key++;
                System.out.println("Enter Name");
                String name = Input.next();
                System.out.println("Enter Address");
                String address = Input.next();
                System.out.println("Enter E-Mail");
                String email = Input.next();
                int roll = key + 1;
                studentsList.add(new Student(name, address, email, 
roll));//Adding the new student to list
                 System.out.println(key + 1 + " Student Registration complete");
                System.out.println("Your Rollnumber is " + (key + 1));
                System.out.println("press 0 to continue or -1 to end the process");
                end = input.nextInt();

            }while(end != -1);
      }
}