2016-11-22 4 views
-3

は、いくつかの練習試験問題をやって、そしてそれが言う:この非コンパイル方法を修正するにはどうすればよいですか?

は声明String pattern = getPattern();を前提としています。メソッドgetPattern()内のフローがあるかどうかを説明します。どのようにそれを修正しますか?ここで

コードです:これはメインのメソッドが含まれていないので、私は、私はこの問題を解決する方法を本当によく分からない

public static String getPattern() { 
    Scanner inPattern = new Scanner(System.in); 
    String pattern = " "; 
    boolean valid = false; 
    int i = 0; 
    while(!valid){ 
    System.out.println("please enter a valid pattern with X or x"); 
    pattern = inPattern.next(); 
if (! (pattern.charAt(i) == 'X' || pattern.charAt(i) == 'x' 
    || pattern.charAt(i) == 'r')) 
    System.out.println("You have entered an invalid pattern"); 
else if ((i + 1) == pattern.length()) valid = true; 
}; 
inPattern.close(); 
return pattern; 
} 

...明らかにこれは大きなコードの小さい部分があります個人的には、何が間違っているのかを少し難しくしています。

私は本当にここで何を変えるべきか正確にはわかりません。私は7時間以上もyoutubeビデオを見て、このことを理解しようとしたり、この質問をしたりしていましたが、本当にわかりません。誰かが良い例を提供できるだろうか?

+0

"非コンパイル方式?" - エラーメッセージが表示されますか?あなたの投稿に追加してください。 – bradimus

+0

**メソッドgetPattern()にフローがあるかどうかを説明します。どうしたらいいですか?**これは本当に質問ですか?それは完全な文ではないのでナンセンスです。また、このような質問を投稿するときには、コンパイラエラーをポストする必要があります。彼らはそれがなぜコンパイルされないのかをあなたに伝えます。 –

+0

'フロー'?あなたは「欠陥」を意味しますか? – EJP

答えて

0

Okey、最初のものが最初です。あなたが受け取ったコードは、それを実行するために必要なすべてのものであり、 "大きなプログラム"の一部ではありません。

String pattern = getPattern(); 

メインメソッドからメソッドgetPatternを呼び出すとどうなりますか? 「有効な」文字の入力を求めるプロンプトが表示され、文字が有効な場合はその文字が返されます。

質問自体は奇妙にデザインされています。しかし、コードを見ると、彼らが釣っているのは、文字「x」または「X」を入力するように指示されていることです。しかし、コードの中でもう一つの有効な文字は 'r'です。だから、彼らはあなたに与えられたテキストをユーザに変えてもらうか、「r」を削除して、有効なcharが私の推測となるようにしてください。

関連する問題