2015-03-05 2 views
0

Я пытаюсь распечатать два массива в заданном положении.Печатать массив в заданном положении

Программа состоит из двух частей. В тех случаях, когда пользователю предлагается ввести строку (имя студента) и int (класс ученика), в конце пользователю предлагается выполнить поиск введенного имени и распечатать имя студента и оценку

До сих пор Я не могу напечатать.

Это мой код для заполнения массивов ...

System.out.println("Please Enter The Number Of Students In The Class!!");  
    int numberOfStudents = input.nextInt(); 
    String []studentNames = new String[numberOfStudents];           
    int [] StudentGrades = new int[numberOfStudents]; 
    int i; 
    for (i =0; i<numberOfStudents; i++) 
    { 
     System.out.println("Enter Student Name!");         
     studentNames[i]= input.next(); 
     System.out.println("_________________");          
     System.out.println("Enter Student Grade"); 
     StudentGrades[i] = input.nextInt(); 
     System.out.println("_________________"); 
    } 

... и это для поиска названия:

Scanner input = new Scanner(System.in); 
    String nameInput = input.next(); 
    int cheak; 
    cheak = 0; 

    for (String student : studentNames) 

     { 
      if (nameInput.equals(student)) 
      { 
       cheak++; 
      } 
     } 
    if (cheak !=0) 
    { 
     System.out.println("Name Found "); 
    } 
    else 
    { 
     System.out.println("Name Not Found"); 
    } 

Теперь я хочу, чтобы напечатать имя студента, который вводится в поиске с соответствующим классом.

Как это сделать?

+0

Я установил грамматику вашего вопроса и улучшить компоновку и добавил вопрос, который вы, вероятно, хотели спросить. Поскольку это похоже на код Java, я добавил этот тег. Вы можете пересмотреть [ask] и [edit-help] (https://stackoverflow.com/editing-help), чтобы изменить ваш вопрос в форме. – rene

ответ

0

Вы должны просто сохранить запись индекса целевого имени в массиве studentNames. Вы можете изменить цикл следующим образом, чтобы получить индекс в переменном Cheak -

cheak = 0; 
for (String student : studentNames) 
    { 
     if (nameInput.equals(student)) 
     { 
      break; 
     } 
     cheak++; 
    } 
if (cheak != numberOfStudents) 
{ 
    System.out.println("Name Found. Name = " + studentNames[cheak] + " Grade = " + StudentGrades[cheak]); 
} 
else 
{ 
    System.out.println("Name Not Found"); 
} 
0

попробуйте следующее:

for (String student : studentNames) { 
     if (nameInput.equals(student)) {//if the student is found, stop the loop 
      break; 
     } 
     cheak++; 
    } 
if (cheak != studentNames.length){ 
    System.out.println("Name Found "); 
    System.out.println("The name is: " + studentNames[cheak]); 
    System.out.println("Grade is: " + studentGrades[cheak]); 
} else { 
    System.out.println("Name Not Found");  
} 
+0

Спасибо .. с некоторыми незначительными изменениями он работает .. –

Смежные вопросы