だから私はABab
を持っていて、A
をACac
と置き換え、a
をCAca....
に置き換えたいとします。私が試したものからの私の出力はとなるはずですACacBCAcab
私はこれをバイパスする方法がわかりません。これは、入力されたAcac
の小文字のaも変わることがわかります。 2がある理由2つの文字列を1つの文字列に入力する方法はありますか?
import java.util.*;
public class Nails
{
public static void main(String[] args)
{
Scanner i = new Scanner(System.in);
String[][] comms = { { "ACac", "CAca" }, { "ADad", "DAda" }, { "AEae", "EAea" }, { "AFaf", "FAfa" },
{ "AGag", "GAga" }, { "AHah", "HAha" }, { "AIai", "Iaia" }, { "AJaj", "JAja" }, { "AKak", "KAka" },
{ "ALal", "LAla" }, { "AMam", "MAma" }, { "ANan", "NAna" }, { "AOao", "OAoa" }, { "APap", "PApa" },
{ "AQaq", "QAqa" }, { "ARar", "RAra" }, { "ASas", "SAsa" }, { "ATat", "TAta" }, { "AUau", "UAua" },
{ "AVav", "VAva" }, { "AWaw", "WAwa" }, { "AXax", "XAxa" }, { "AYay", "YAya" }, { "AZaz", "ZAza" } };
String Master = "ABab";
String S = Master; //Slave String
String Tmp = S;
System.out.println("Amount of Nails: ");
int N = i.nextInt(); //Nails
if(N < 2)
{
System.out.println("Sorry, You Must input a number Greater than or Equal to 2");
}
if(N == 2)
{
System.out.println(Master);
}
else
{
for(int c = 0; c < N - 2; c++) //C for Counter, subtracting 2 because method wont run if it is <= 2 and 'Comms' starts on 0 which would be 3 Nails
{
System.out.println(S);
S = S.replace("A", Comms[c][0]);
S = S.replace("a", Comms[c][1]);
System.out.println(S);
}
}
}
}
小文字が大文字のコンポジットを表す:私はあなたがhaha
を見ることができるようにZ
にこれらのすべての方法まで入力できるようにしたい、ここに私のコードです各1のエントリに "釘"が追加されました。私はこのパズルの数式ジェネレータを作成できるようにこのプログラムを作っています: Nail Puzzle。ビデオ制作者は、それが役立つ場合は、数学のいくつかについても説明します。おかげさまで
私にとっては、これはタグのいずれかに関連する質問ではなく、適切なアルゴリズムを見つけることのちょうど問題ではないので、質問のタイトルは明確ではありません。 –
@Stephan Hernmann - 私は、とにかく適切なタグを選択する担当者を持っていない、私は日食で働いていた、Javaをやっていた、文字列のヘルプが必要でした、なぜ私は正規表現を置く覚えていないが、パズルで。あなたは正しいです私はアルゴリズムを見つける必要があり、私はコードで私の知識が非常に基本的であるため、これはプリムと適切なタイトルを作るためにこれを理解する方法を知りません –