2011-10-27 12 views
0

私はエラーを返す次のコードを持っています。簡易メソッドクエリ

ライン:

return first; 

は言う:必要

互換性のない型:char型[]

をそれは単純なもののように思えるが、私はそれを把握することはできません。私はmethodBを呼び出して値を表示しようとしています。

また、ifのステートメントは#4とコメントしています。誰かが私の理解を少し増やすことができますか? alphasに現在の要素で開催された値がfirstの現在の値の前に来る場合

このif文は、変数firstが保持する値を更新していますか?

これは意味があると誰かが助けることを望みます。遅くなり、私の脳はもはや働いていません。 Javaは私を作るか、壊します!

package openuniversity; 

public class Main 
{ 

    public static void main(String[] args) 
    { 
     Main m = new Main(); 
     char [] alp = m.methodB(); 

     for (char b: alp) 
     { 
      System.out.println(b); 
     } 
    } 

    public static char[] methodB() 
    { 

     char [] alphas = {'s','a','u','s','a','g','e'}; 
     char first = alphas[0]; 
     for (int i= 1; i < alphas.length; i++) //3 
     { 
      if (alphas[i] < first) //4 
      { 
      first = alphas[i]; 
      } 
     } 
     return first; 
    } 
} 
+2

'methodB'は' char [] 'を返すように宣言されていますが、あなたは単一の' char'を返そうとしています。 –

+0

ありがとうございます。 変更する必要があることを教えていただけますか?私のメソッドヘッダーからchar []を削除しても問題は解決されません。/ –

+1

私はプログラミング/ javaの初心者用ガイドを真剣に検討します。あなたは特定の型のものを返すメソッドを宣言し、その型のものを返す。別の種類のものを返そうとすると、コンパイルされません。 –

答えて

0
package openuniversity; 

public class Main 
{ 

    public static void main(String[] args) 
    { 
     Main m = new Main(); 
     char alp = m.methodB(); 

     System.out.println(alp); 
    } 

    public static char methodB() 
    { 

     char [] alphas = {'s','a','u','s','a','g','e'}; 
     char first = alphas[0]; 
     for (int i= 1; i < alphas.length; i++) //3 
     { 
      if (alphas[i] < first) //4 
      { 
      first = alphas[i]; 
      } 
     } 
     return first; 
    } 
} 
+0

ありがとうございました。 –

0

あなたの関数のシグネチャを使用すると、char[]を返していると言う:それはあなたが何をしたいのか完全には明らかではありません

char first = alphas[0]; 
// ... 
return first; 

、しかし:

public static char[] methodB() 

しかし、あなたが実際にcharを返します1つの文字を返すようにシグネチャを変更する必要があります。

public static char methodB() 

そして、それが使われている場所を変更します。

char alp = m.methodB(); 

それともmethodBが実際にchar[]を返します。問題は、実際に何が返ってくるのか分からないことです。私は機能をより良い名前を与えることをお勧めします。 Listsをご覧ください。

+0

ありがとうブレンダン私がどこに間違っているのか理解してくれます。上記の私のコメントとして、私は私を去らせたオンラインコースの一環としてこれをやっており、その方法が何を意味するのか(説明が与えられていない)、あるいは何をしているのか分かりません。 しかし、私は返された価値を得ました。あなたの助けに感謝しなければならない多くのおかげです! –