こんにちはStackOverflowのユーザーは、私は現在、JavaでHSコースを取っているので、私はJavaの初心者です。今、私自身のために、私はユーザー入力を受け入れ、他のクラスをインポートせずに再帰的にすべての文字を印刷するプログラムを書いていますが、Scannerです。私のコードは、奇数の文字に対しては機能しますが、偶数の文字では機能しません。なぜこれが、私は理解していないこれらのすべてのキャッチ/スローなしで簡単な修正を提案することができますか?私のコードは以下の通りです。おかげで、-A初心者のJavaコーダー他のすべての文字を再帰的に印刷
import java.util.Scanner;
public class PrintChars
{
private String chunk;
public PrintChars ()
{
chunk = "";
}
public static void main (String [] args)
{
PrintChars p = new PrintChars ();
p.GetPhrase ();
p.Deconstruct ();
}
public void GetPhrase ()
{
Scanner console = new Scanner (System.in);
do
{
System.out.print ("\n\nEnter a phrase: ");
chunk = console.nextLine ();
} while (chunk == null);
System.out.println ("\n\n");
}
public void Deconstruct ()
{
OneChar (chunk);
System.out.println ("\n\n");
}
public int OneChar (String c)
{
if (c.equals (""))
return 1;
else
{
char first = c.charAt (0);
c = c.substring (2);
System.out.println (first);
return OneChar (c);
}
}
}
注: "c = c.substring(1)"を "c = c.substring(2)"に編集しました。 –
奇数と偶数の両方の入力を持つsubstring文を試してデバッグしてください。 – nullpointer
ごめんなさい、それはどういう意味ですか?デバッガを使うべきですか? –