나는 약간의 도움이 필요한 배열 프로젝트를 가지고있다. 나는 그것의 대부분을 끝내었다. 그러나 나는 끝쪽으로 두개의 문제로 달렸다. 나는 학생 이름, 성적을 넣을 수 있고 성적을 (이름과 함께) 정렬하고 내림차순으로 인쇄 할 수 있습니다. 그래도 Doubles로 설정된 성적이 필요하며, 현재 Ints로 붙어 있습니다. Int의 인스턴스를 Double로 변경하려고 시도했지만 불일치 오류가 발생합니다. 또한 처음에 배열의 크기를 입력하도록 설정했지만 "학생 수"를 두 번 묻습니다. 어떻게 수정해야하나요? 한 번만 물어 보거나 두 답을 모두 하나씩 입력하십시오. 여기에 코드가 있습니다.배열 프로젝트 int double mismatch
import java.util.Scanner;
public class Grades {
public static void main(String[]args){
{
Scanner GradeIn = new Scanner(System.in);
Scanner NameIn = new Scanner(System.in);
System.out.print("How many students are there? ");
int[]GradeArray = new int[GradeIn.nextInt()];
String[]nameArray = new String[GradeIn.nextInt()];
for(int i=0 ; i<GradeArray.length ; i++)
{
System.out.println("Enter Grade for Student " + (i+1) + ": ");
GradeArray[i] = GradeIn.nextInt();
System.out.println("Enter Name of Student " + (i+1) + ": ");
nameArray[i] = NameIn.nextLine();
}
bubbleSort(GradeArray, nameArray);
for (int i = 0; i<GradeArray.length; i++)
{
System.out.print(nameArray[i]);
System.out.print(": ");
System.out.print(GradeArray[i] + " ");
}
}
}
private static void bubbleSort(int[]GradeArray, String[] nameArray){
int n = GradeArray.length;
int temp = 0;
String temp2;
for(int i=0; i<n; i++){
for(int j=1; j<(n-i);j++){
if(GradeArray[j-1]<GradeArray[j]){
//swap
temp=GradeArray[j-1];
GradeArray[j-1]=GradeArray[j];
GradeArray[j]=temp;
temp2=nameArray[j-1];
nameArray[j-1]=nameArray[j];
nameArray[j]=temp2;
}
}
}
}
}
어떤 도움을 주시면 감사하겠습니다.
는 각 학생 등을 위해 이름과 학년을 저장하는 2 차원 배열을 가질 가능성이 있습니까 입력 한 다음 정렬할까요? 왜 어떤 데이터 형식을 저장할 수 있도록 변형 배열을 정의하지 마십시오 ... – bonCodigo
그는 우리에게 2 개의 배열이 필요합니다. 이름 하나, 성적 용 하나. – user1861544
시작하는 학생 수를 입력하는 대신 입력을 처리 할 때 'q'또는 '종료'를 확인하는 것이 일반적이므로 'quit'을 입력하기 전까지 학생 입력을 시작할 수 있습니다. – Dukeling