Мне нужно написать программу, имеющую 3 параллельных массива, одну из которых содержит четырехзначный идентификатор студента, второй - имя ученика, а последнее, которое содержит GPA, и размер массивов должен быть 10 также программа будет в состоянии сделать поиск Student ID, и если оно не существует, чтобы показать сообщение об ошибкеПоиск элемента в массиве
первая часть работает нормально, но когда дело доходит до поиска он не работает
import java.util.ArrayList;
import javax.swing.JOptionPane;
import java.util.Scanner;
public class StudentIDArray
{
public static void main(String[] args)
{
int option;
String inputString;
inputString = JOptionPane.showInputDialog("Welcome"
+" Choose the option you will like"
+ " \n1. Enter Student Information "
+ "\n2. Search for Student");
option = Integer.parseInt(inputString);
if(option ==1)
{
Scanner in = new Scanner(System.in);
System.out.println("Enter the name of the Student");
String[] studentname = new String[10];
for(int i =0; i<studentname.length; i++)
{
studentname[i] = in.nextLine();
}
System.out.println("Enter the 4 digit Student ID");
int[] studentID = new int[10];
for(int x=0; x<studentID.length; x++)
{
studentID[x] = in.nextInt();
}
System.out.println("Enter the Student's Grade Point Average");
int[] gpa = new int[10];
for(int y=0; y<studentID.length; y++)
{
gpa[y] = in.nextInt();
}
}
else
{
searching();
}
}
public static void searching()
{
int idnumber,
results;
int[]studentID = null;
String inputString;
inputString = JOptionPane.showInputDialog("Please Enter the ID number");
idnumber = Integer.parseInt(inputString);
results = sequentialSearch(studentID, idnumber);
if (results == -1)
{
System.out.println("no information");
}
else
{
System.out.println("yeii congrats");
}
}
public static int sequentialSearch(int[] studentID, int value)
{
int index;
int element;
boolean found;
index =0;
element = -1;
found = false;
while(!found && index < studentID.length)
{
if (studentID[index] == value)
{
found = true;
element = index;
}
index++;
}
return element;
}
}
Легче ли это понять сейчас? – user3058890
Можете ли вы уточнить некоторые моменты? Когда вы хотите, чтобы пользователь набирал имя или идентификатор студента, должен ли пользователь вводить символ по символу? Вы упомянули, что их нужно хранить в массивах, а массивы должны принимать максимум 10 элементов. Но вам нужен 4-значный идентификатор от пользователя, но вы все равно хотите ввести 10 пользователей. Я думаю, что вы ошиблись в массиве «10 элементов». Может ли быть «размер ввода не должен превышать 10 символов»? Вы хотите выполнить поиск ранее сохраненных данных студента, но вы не сохранили эти данные в объекте, и когда вы хотите выполнить поиск, вы не выполняете поиск из любого места. Рассмотрите возможность изменения этих фатальных ошибок. –