【问题标题】:Print array at given position在给定位置打印数组
【发布时间】:2015-03-05 20:15:06
【问题描述】:

我正在尝试在给定位置打印出两个数组。

该程序有两个部分。一种要求用户在最后输入一个字符串(学生姓名)和一个 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");
    }

现在我想打印在搜索中输入的学生姓名和相应的年级。

我该如何做到这一点?

【问题讨论】:

  • 我修正了您问题的语法并改进了布局并添加了您可能想问的问题。因为它看起来像 java 代码,所以我添加了该标签。您可以重新访问How to Askediting-help 以进一步了解edit 您的问题。

标签: java arrays printing


【解决方案1】:

您只需在 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");
}

【讨论】:

    【解决方案2】:

    尝试以下方法:

    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");       
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多