我必须制作一个简单的数组程序

时间:2017-03-17 16:37:24

标签: java

import java.util.Scanner;
class testa{
  public static void main(String args[]){
     char m[ ] = new char[10];
     int i,j;
     Scanner sc = new Scanner(System.in); 
       for(i=0;i<5;i++){
       m[i]=sc.next();//I can do it via bufferedReader but how to o it with Scanner
       }
            for(j=0;j<5;j++)
    System.out.println(m[j]);
 }
}

现在的问题是我无法输入值并使用Scanner类正确执行它,但我可以使用bufferedreader,我不想这样做。我如何使这个程序工作?样本输入:qwerty 样本输出: q w ^ Ë [R Ť ÿ

5 个答案:

答案 0 :(得分:0)

在这一行:m [i] = sc.next()它接受整个字符串“qwerty”。您可能想尝试这样的事情:     String str= sc.next(); for(int i=0;i<5;i++) m[i] =str.charAt(i);

答案 1 :(得分:0)

import java.util.Scanner;      // import Scanner class to input array values from user
public class ArrayExample {

public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);   //Create an object of Scanner class
    int[] arr=new int[10];      //declare an integer array


    //input value from array
    for(int i=0;i<10;i++){
        arr[i]=sc.nextInt();        
    }


    //print array values from array
    for(int i=0;i<10;i++){
        System.out.println(arr[i]);
    }

}

}

答案 2 :(得分:0)

import java.util.Scanner;
class testa{
  public static void main(String args[]){
     char[] m = new char[5];
     Scanner sc = new Scanner(System.in); 
       for(int i=0;i<5;i++){
       m[i]=sc.next().charAt(0);
       }
            for(int j=0;j<5;j++)
    System.out.print(m[j] + ' ');
 }
}

我相信这应该有效。我在写电话时正在打电话,所以无法验证。

是重要的修正
  

.charAt(0)和System.out.print(m [j] +'');

答案 3 :(得分:0)

您可以尝试: -

char c[] = new char[5];
Scanner sc = new Scanner(System.in);
String line = sc.next();
for(int i=0;i<5;i++){
   c[i] = line.charAt(i);
}

这会在输入的char中生成String数组。好吧,如果你想要一个char数组,你也可以用循环代替

char c[] = line.toCharArray();

最后,只需打印出阵列。

答案 4 :(得分:0)

虽然效率不高,但这是我能想到使用Scanner的唯一方法。

favorite