2017-09-21 4 views
-3

でGET文字列を助ける必要がある場合は入力配列とループと名前は、私が最初に名前を取得するJava

Enter the name : 

1. Alvin Indra 
2. Sada Rika 

出力

1. Alvin 
2. Sada 

コード

ここ
public static void main(String[] args) { 
    int n; 
    String teman[],namadepan[]; 
    Scanner sc = new Scanner(System.in); 
    Scanner x = new Scanner(System.in); 

    System.out.print("Put how many friends : "); 
    n = sc.nextInt(); 

    teman = new String[n]; 
    namadepan = new String[n]; 
    for(int i=0;i<n;i++){ 
     System.out.print("Friend Of-"+(i+1)+" : "); 
     teman[i] = x.nextLine(); 
    } 
    System.out.print("\n"); 
    System.out.println("First Name : "); 
    for(int i=0;i<n;i++){ 
     if(teman[i] == ' '){ // this is where I need help 
      System.out.println((i+1)+". "+teman[i].substring(0,i)); 
     } 
    } 
} 
+3

が、これはコンパイルすらしていますか? 'teman [i] == '''は有効な文ではありません。 – nullpointer

+0

これは違う:( –

+0

@Gendarmeその場合は '' if(teman [i] == '') ''となるだろうか? – nullpointer

答えて

1

あなたはこれを使用して

String name = "John Smith"; 
System.out.println(name.split(" ")[0]); 

を行くforループ、第2に置き換えられます、あなたがスペースのためにあなたを見てそれぞれの文字を巡回する必要はありません文字列に対してsplitメソッドを使用し、文字列を分割して最初の要素を呼び出す文字を指定するだけで済みます。

あなたはおそらくとしてそれらを使用するために、JavaでStringクラスのcontainsindexOfメソッドを使用して探している

import java.util.Scanner; 

public class testest { 
    public static void main(String[] args){ 
     int n; 
     String teman[],namadepan[]; 
     Scanner sc = new Scanner(System.in); 
     Scanner x = new Scanner(System.in); 

     System.out.print("Put how many friends : "); 
     n = sc.nextInt(); 

     teman = new String[n]; 
     namadepan = new String[n]; 

     for(int i=0;i<n;i++){ 
      System.out.print("Friend Of-"+(i+1)+" : "); 
      teman[i] = x.nextLine(); 
     } 

     System.out.print("\n"); 

     for(int i=0;i<n;i++){ 
      System.out.println("First Name : "); 
      System.out.println(teman[i].split(" ")[0]); 
      System.out.print("\n"); 
     } 
    } 
} 
+0

配列と入力を使うことはできませんスキャナ –

+1

@ChitogeKirisakiなぜあなたは配列に分割できないのですか? – nullpointer

+0

彼は入力を求めて、 "ジョンスミス"を使わないと言っています、彼は誤解しています@ChitogeKirisaki this a nswerは代わりに['String#split'](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String))を使用するように指示していますループの使用。彼はあなたのコードに手動で文字列を書くように言っているわけではありません。スキャナを使用しても問題ありません。 – Gendarme

1

更新完全な実装:

if (teman[i].contains(" ")) { 
    System.out.println((i + 1) + ". " + teman[i].substring(0, teman[i].indexOf(" "))); 
} 
関連する問題