2017-03-17 52 views
0
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]); 
} 
} 

現在的問題是,我不能輸入值,並正確使用掃描儀類執行,但我可以用的BufferedReader這我不想do.How讓我的這個工作方案?樣品輸入:QWERTY 示例輸出: q 瓦特 Ë ř 噸 ý我必須做一個簡單的陣列程序

+0

閱讀整串以'next',然後簡單地做'M = sc.next()。toCharArray()'一次 –

+0

.charAt(0),但會接受QWERTY的全價值? –

+0

檢查此鏈接:http://stackoverflow.com/questions/13942701/take-a-char-input-from-the-scanner – Riddle03

回答

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(); 

最後,打印出數組。

0

在這一行:M [I] = sc.next()它接受整個字符串 「QWERTY」。你可能想嘗試這樣的: String str= sc.next(); for(int i=0;i<5;i++) m[i] =str.charAt(i);

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

} 

}

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] +'');

0

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

public class testa{ 
    public static void main(String args[]) { 
     Pattern pattern = Pattern.compile("."); 
     Scanner sc = new Scanner(System.in); 
     String str = null; 
     do { 
      str = sc.findInLine(pattern); 
      if(str!= null) 
       System.out.print(str.charAt(0)); 
       System.out.print(" "); 
     } while (str != null); 
     sc.close(); 
    } 
} 
相關問題