0

更改您的程序,使其不再显示所有数组元素,而是要求用户输入一个数字,然后仅显示该元素。为了让它工作,你需要使用 Scanner 返回一个 int 值。

以上说明了我需要做什么,代码显示了我当前的状态。真的不知道该怎么做,干杯。

import java.util.Arrays;
import java.util.Scanner;


/**
 *
 * Purpose: Introduction to data structures
 * @author p'o'p'
 *
 */
public class StudentNames{

    public static void main(String[] args){         
        String[] names = new String[8];                                        
        Scanner s = new Scanner( System.in );
        for( int i = 0; i < 8; i++ ){
            System.out.println( "Enter student name:" );                            
            names[ i ] = s.next();                          
        }                        
        for (int i = 0; i < 8; i++ ){               
            System.out.println(" Input your chosen number" );
            System.out.println("Student name:"+ names[ i ]);         
            int index = i;
            System.out.println( index );                              
        }

    }
}
4

2 回答 2

1

“它要求用户输入一个数字”你有一个扫描仪对象(好的开始!)现在你需要用它来接收输入。看这里,我们可以看到扫描仪可用的方法。您需要选择一个允许您接收整数作为输入的选项(如果您仍然不确定,我希望互联网上有很多扫描仪示例,并且确实在此站点上)

“然后只显示那个元素。” 当您在数组上使用 for 循环来打印值时,您基本上是在这样做

System.out.println("Student name:"+ names[1])
System.out.println("Student name:"+ names[2])
System.out.println("Student name:"+ names[3])
And so on...   

这表明当您访问数组的每个元素时,您正在使用一个数字来引用每个存储的元素。从这里我们可以看到,一旦您在数组长度内有一个数字,您就可以访问该元素。因此,一旦您从输入中获得了一个数字,通过将其与上述语句中的 1 条相结合,您应该会达到您想要的输出。

祝你好运!

于 2013-11-12T11:15:30.333 回答
0

试试下面的代码,不是有效的,我只是修改了你的代码。

import java.util.Arrays;
import java.util.Scanner;


/**
*
* Purpose: Introduction to data structures
* @author p'o'p'
*
*/

public class NewClass1{

public static void main(String[] args){         
    String[] names = new String[2];                                        
    Scanner s = new Scanner( System.in );
    for( int i = 0; i < 2; i++ ){
        System.out.println( "Enter student name:" );                            
        names[ i ] = s.next();                          
    }
    System.out.println(" Input your chosen number" );
    Scanner sc=new Scanner(System.in);
    int choice=sc.nextInt();
    for(int i=0;i<names.length;i++)
    {
        if(i==choice && choice < names.length)  
        {
         System.out.println("Student name:"+ names[ i ]);
         System.out.println(i);
        }
     }
}

}

于 2013-11-12T11:12:26.947 回答