Java 在方法2和3中返回数组中的多个项
我正在努力使用Java 在方法2和3中返回数组中的多个项,java,arrays,Java,Arrays,我正在努力使用printHighest和printLowest方法,我需要它来返回学生分数、姓名和ID,但我想不出我唯一能让它工作的方法是只使用分数,在大多数情况下,其余的程序工作正常,我只是在与代码的这一部分作斗争 import java.util.*; public class FinalprojectV2 { public static void main(String args[]) { Scanner console = new Scanner(Sy
printHighest
和printLowest
方法,我需要它来返回学生分数
、姓名
和ID
,但我想不出我唯一能让它工作的方法是只使用分数,在大多数情况下,其余的程序工作正常,我只是在与代码的这一部分作斗争
import java.util.*;
public class FinalprojectV2
{
public static void main(String args[])
{
Scanner console = new Scanner(System.in);
int[] studentID = new int [5];
String[] studentName = new String [5];
int [] studentScore = new int [5];
for (int i = 0; i < 5; i++)
{
System.out.println("Student Number " + (i+1) + "");
System.out.println("Student ID Number: ");
studentID [i] = console.nextInt();
System.out.println(" Student Name: " + console.nextLine()+"");
studentName [i] = console.nextLine();
System.out.println("Grade: ");
studentScore [i] = console.nextInt();
}
printRoaster(studentID, studentName, studentScore);
int max = printLowest(studentScore);
System.out.println("Highest score is: "+ max);
int min = printHighest(studentScore);
System.out.println("Lowest score is: "+ min);
}
public static void printRoaster(int[] studentID, String []studentName, int [] studentScore)
{
for (int i = 0; i < 5; i++)
{
java.util.Arrays.sort(studentID);
java.util.Arrays.sort(studentName);
java.util.Arrays.sort(studentScore);
}
for(int i=0;i<5;i++)
{
System.out.println(studentID[i] + " " + studentName [i] + " " + studentScore [i] + " ");
}
}
public static int printLowest(int[] inputArray)
{
int maxValue = inputArray[0];
for(int i=1;i < inputArray.length;i++){
if(inputArray[i] > maxValue){
maxValue = inputArray[i];
}
}
return maxValue;
}
public static int printHighest(int[] inputArray){
int minValue = inputArray[0];
for(int i=1;i<inputArray.length;i++){
if(inputArray[i] < minValue){
minValue = inputArray[i];
}
}
return minValue;
}
}
import java.util.*;
公共类最终项目2
{
公共静态void main(字符串参数[])
{
扫描仪控制台=新扫描仪(System.in);
int[]studentID=新int[5];
String[]studentName=新字符串[5];
int[]学生分数=新的int[5];
对于(int i=0;i<5;i++)
{
System.out.println(“学生号”+(i+1)+”);
System.out.println(“学生ID号:”);
studentID[i]=console.nextInt();
System.out.println(“学生名:“+console.nextLine()+”);
studentName[i]=console.nextLine();
系统输出打印项次(“等级:”);
studentScore[i]=console.nextInt();
}
printRoaster(学生ID、学生姓名、学生分数);
int max=打印最低(学生分数);
System.out.println(“最高分数为:“+max”);
int min=最高打印分数(学生分数);
System.out.println(“最低分数为:“+min”);
}
公共静态void打印程序(int[]studentID,String[]studentName,int[]studentScore)
{
对于(int i=0;i<5;i++)
{
java.util.Arrays.sort(studentID);
java.util.Arrays.sort(studentName);
java.util.Arrays.sort(studentScore);
}
对于(int i=0;i maxValue){
最大值=输入阵列[i];
}
}
返回最大值;
}
公共静态int printHighest(int[]inputArray){
int minValue=inputArray[0];
对于(inti=1;i更好的解决方案是创建一个带有id、名称和分数的学生类
从printHighest和printLowest方法返回学生类的适当对象
希望你能理解
class Student {
int studentID;
String studentName;
int studentScore ;
........
}
在main方法中,创建
Student[] students = new Student [5];
import java.util.*;
导入静态java.lang.Integer.MIN_值;
公共类最终项目2
{
公共静态void main(字符串参数[])
{
扫描仪控制台=新扫描仪(System.in);
int[]studentID=新int[5];
String[]studentName=新字符串[5];
int[]学生分数=新的int[5];
对于(int i=0;i<5;i++)
{
System.out.println(“学生号”+(i+1)+”);
System.out.println(“学生ID号:”);
studentID[i]=console.nextInt();
System.out.println(“学生名:“+console.nextLine()+”);
studentName[i]=console.nextLine();
系统输出打印项次(“等级:”);
studentScore[i]=console.nextInt();
}
printRoaster(学生ID、学生姓名、学生分数);
//int max=打印最低(学生分数);
打印最低(学生分数,学生ID);
//System.out.println(“最高分数为:”+);
int min=最高打印分数(学生分数);
System.out.println(“最低分数为:“+min”);
}
公共静态void打印程序(int[]studentID,String[]studentName,int[]
学生成绩)
{
对于(int i=0;i<5;i++)
{
java.util.Arrays.sort(studentID);
java.util.Arrays.sort(studentName);
java.util.Arrays.sort(studentScore);
}
对于(int i=0;i maxValue){
pos=i;
最大值=输入阵列[i];
}
}
打印(最大值,id[pos]);
}
公共静态无效打印(整数分数,整数id){
System.out.println(“最高分数为:“+score+”学生ID为:“+ID”);
}
公共静态int printHighest(int[]inputArray){
int minValue=inputArray[0];
对于(int i=1;iYou可以返回最高分数的索引,然后使用该索引检索具有该分数的学生的id和姓名。您可以提供一个示例输入和示例输出吗?您可以给我一个示例,说明如何在代码中实现这一点吗?这是一个解决方案,它只在代码中引入了一些更改。T他正确且良好的做法是像@aj那样写作。
import java.util.*;
import static java.lang.Integer.MIN_VALUE;
public class FinalprojectV2
{
public static void main(String args[])
{
Scanner console = new Scanner(System.in);
int[] studentID = new int [5];
String[] studentName = new String [5];
int [] studentScore = new int [5];
for (int i = 0; i < 5; i++)
{
System.out.println("Student Number " + (i+1) + "");
System.out.println("Student ID Number: ");
studentID [i] = console.nextInt();
System.out.println(" Student Name: " + console.nextLine()+"");
studentName [i] = console.nextLine();
System.out.println("Grade: ");
studentScore [i] = console.nextInt();
}
printRoaster(studentID, studentName, studentScore);
// int max = printLowest(studentScore);
printLowest(studentScore,studentID);
// System.out.println("Highest score is: "+ );
int min = printHighest(studentScore);
System.out.println("Lowest score is: "+ min);
}
public static void printRoaster(int[] studentID, String []studentName, int []
studentScore)
{
for (int i = 0; i < 5; i++)
{
java.util.Arrays.sort(studentID);
java.util.Arrays.sort(studentName);
java.util.Arrays.sort(studentScore);
}
for(int i=0;i<5;i++)
{
System.out.println(studentID[i] + " " + studentName [i] + " " + studentScore [i]
+ " ");
}
}
public static void printLowest(int[] inputArray, int[] id)
{
int pos = MIN_VALUE;
int maxValue = inputArray[0];
for(int i=1;i < inputArray.length;i++){
if(inputArray[i] > maxValue){
pos = i;
maxValue = inputArray[i];
}
}
print(maxValue,id[pos]);
}
public static void print(int score, int id){
System.out.println("Highest score is: "+ score +" student ID is: "+id);
}
public static int printHighest(int[] inputArray){
int minValue = inputArray[0];
for(int i=1;i<inputArray.length;i++){
if(inputArray[i] < minValue){
minValue = inputArray[i];
}
}
return minValue;
}
}