getStudent yöntemi çağrıldıktan sonra geri .... ı getStudent yöntemi (Aşama 2) olarak adlandırılan ve [temp sahip i] = geçici elemanı temp dizisine atamak ancak ne yapması gerektiğini çözememek = döndürülmüş olan Öğrenci nesnesi ile eşleştirmek. GetStudent() işlevini kullanırken ve programı çalıştırırken çıktı, öğrenci sayısını girer, kullanıcı sayıyı girer ve bu gerçekleşir, kullanıcının adı ve vs. girmesini istemez. 2. adım sorunsa ya da tamamen başka bir sorun varsa emin olun.atama ve Java nesneleri geri I Öğrenci nesne ile geçici dizisinde mevcut dizi elemanı atamak için çalışıyorum
import java.util.Scanner;
public class Students
{
private static Scanner input = new Scanner(System.in);
public static void main(String[] args)
{
Student[] students;
students = getStudents();
printStudents(students);
}
private static Student[] getStudents()
{
Student[] temp;
int how_many;
System.out.print("How many students? ");
how_many = input.nextInt();
purgeInputBuffer();
temp = new Student[input.nextInt()]; // Step 1 ???
for (int i = 0; i < temp.length; i++)
{
getStudent(); // Step 2
temp[i] = ; // <----------
}
return temp; // Step 3
}
private static Student getStudent()
{
String name,
address,
major;
double gpa;
System.out.print("Enter name: ");
name = input.nextLine();
System.out.print("Enter address: ");
address = input.nextLine();
System.out.print("Enter major: ");
major = input.nextLine();
System.out.print("Enter GPA: ");
gpa = input.nextDouble();
purgeInputBuffer();
return new Student (name, address, major, gpa); // Step 4
}
private static void printStudents(Student[] s)
{
System.out.println();
for (int i = 0; i < s.length; i++) // Step 5
{
System.out.println(getStudent()); // Step 6
}
}
private static void purgeInputBuffer()
{
// ----------------------------------------------------
// Purge input buffer by reading and ignoring remaining
// characters in input buffer including the newline
// ----------------------------------------------------
input.nextLine();
}
}
neden kullanmıyorsunuz: 'temp [i] = getStudent(); // Step 2'? Bu kullanarak ve programı çalıştırırken – Cootri
, çıkış kullanıcı numarasını girer, öğrenci numarasını girin ve bu gerçekleşirse hepsi, ben eminim adını ve vb – Beeeee
girmek için kullanıcı için sormuyor olduğunu @Cootri'nin ne yapması gerektiğini söyledi. Ama lütfen 'özel statik boşluklu printStudents (Öğrenci []' ler) metoduna da bakın ve '// adım 6' satırında da, bu şekilde yapmak istediğinize inanmıyorum. Bunun yerine istediğiniz 'System.out.println (lar [i]);' 'yok System.out.println (getStudent());' bunu böylece 'toString' yöntemini geçersiz kılar gerekir gerçi benim kod ikamesi çalışması için acutally – 3kings