2016-09-27 11 views
-1

助けが必要です。 ここにタスクがあります: メインフレーズを要求するプログラムを作成します。フレーズに保存されるキーストリング値を要求します。全ての文字がプラス( "+")で置き換えられた元のメインフレーズのバージョンを表示します。ただし、キーストリング値の外観は変更されません。 サンプル出力:ここにJavaは変数内の指定された値以外の文字列内の文字を置換します

------------------------------------------------ 
Enter main phrase: 12xy34 
Enter key string:xy 
New Version: ++xy++ 
------------------------------------------------ 
Enter main phrase: 12xy34 
Enter key string:1 
New Version: 1+++++ 
------------------------------------------------ 
Enter main phrase: 12xy34xyabcxy 
Enter key string:xy 
New Version: ++xy++xy+++xy 

が私のコードです:?!。

import java.util.*; 
public class Corpuz_Kervin 
{ 
    public static void main (String [] args) 
    { 
     Scanner input = new Scanner (System.in); 
     String phrase,key= ""; 
     String plus = "+"; 


     System.out.print("Enter main phrase : "); 
     phrase = input.nextLine(); 
     System.out.print("Enter key string : "); 
     key = input.nextLine(); 



     for (int i = 0; i < phrase.length(); i++) 
     { 
      char x = phrase.charAt(i); 
      if (x.contains(key)) 
      { 
       System.out.print(phrase.replace(x),"+"); 
      } 
      else 
      { 
       System.out.print("Error"); 
      } 
     } 
    } 
} 

誰も私を助けることができる おかげ

+0

あなたはあなたの実際の出力を投稿する必要があります。 – Jacob

+0

これについて考えてみると、 '+ '記号の文字列を取り、特定の位置をキーフレーズに置き換えることがより効果的です。キーフレーズが元の文字列で発生するすべてのオフセットを見つけ、それらをプラス記号列に追加します。 –

答えて

1

使用:

System.out.println(phrase.replaceAll("[^" + key + "]", plus)); 
+0

大丈夫、私はそれが動作するかどうかを教えてください@JohnMichaelRiveraこの –

+0

みます。 – Blobonat

+0

はい!それは動作します!これはどういう意味ですか、 –

0

なぜ」この表現を使用し、ないphraceとでReplaceAllを使用しません({あなたのフレーズ}) "

+0

uhmだから、そこにコードがありますか?そして、どこでこの表現を入れますか? –

+0

import java.util。*; パブリッククラスCorpuz_Kervin {\t公共の静的な無効メイン(文字列[]引数) \t {\t \tスキャナ入力=新しいスキャナ(System.in)。 \t \t文字列、キー。 \t \t文字列プラス= "+"; \t \t \t \t \t \t System.out.print( "メインフレーズを入力してください。"); \t \t phrase = input.next(); \t \t System.out.print( "Enter key string:"); \t \t key = input.next(); \t \t { \t \t \tチャーA = phrase.charAt(I)(; iが(phrase.lengthを<)I ++は、I = 0の整数)ため \t \t。用 \t \t \t(INT J = 0; J

0

xcharであり、keyStringです。条件はx.contains(key)であってはなりません。この代わりに、あなたのループの

+0

オムので、どのような状態でなければなりませんか? –

+0

import java.util。*; パブリッククラスCorpuz_Kervin {\t公共の静的な無効メイン(文字列[]引数) \t {\t \tスキャナ入力=新しいスキャナ(System.in)。 \t \t文字列、キー。 \t \t文字列プラス= "+"; \t \t \t \t \t \t System.out.print( "メインフレーズを入力してください。"); \t \t phrase = input.next(); \t \t System.out.print( "Enter key string:"); \t \t key = input.next(); \t \t { \t \t \tチャーA = phrase.charAt(I)(; iが(phrase.lengthを<)I ++は、I = 0の整数)ため \t \t。用 \t \t \t(INT J = 0; J

関連する問題