更改程序,以便不是显示所有数组元素,而是要求用户输入数字,然后只显示该元素。要使其工作,您需要使用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 );
}
}
}
答案 0 :(得分:1)
“它要求用户输入一个数字” 你有一个扫描仪对象(良好的开端!)现在你需要使用它来接收输入。 看here,我们可以看到方法 可用于扫描仪。您需要选择一个允许您接收整数作为输入的(如果您仍然不确定我希望互联网上有很多扫描仪示例,实际上在此网站上)
“然后只显示该元素。” 当您在数组上使用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...
这表明当您访问数组的每个元素时,您正在使用a 用于引用每个存储元素的数字。从此我们可以看到,一旦你有 在数组长度内的数字,您可以访问该元素。一旦你从输入中获得了一个数字, 通过将其与上述陈述中的一个相结合,您应该达到所需的输出。
祝你好运!
答案 1 :(得分: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);
}
}
}
}