2016-11-24 13 views
0

私はJavaで1,1,3,4,4のようなint型の文字列を受け取るメソッドを書くように求めています。ユニークな番号メソッドが文字列を入力として受け取り、出力としてintを与える方法

public class test { 

    public static int main(String s, int r) { 
     String[] studentsarray = s.split(","); 
     int[] intArray = new int[studentsarray.length]; 
     for (int i = 0; i < studentsarray.length; i++) { 
      String numberAsString = studentsarray[i]; 
      intArray[i] = Integer.parseInt(numberAsString); 
     } 
     for (int j = 0; j < intArray.length; j++) { 
      for (int k = 0; k < intArray.length; k++) { 
       if (intArray[k] == intArray[j]) { 
        int result = 0; 
        return result; 
       } 
      } 
     } 
    } 
} 

これは私のプログラムです。メソッドに文字列を渡す方法がわかりません。メソッドの名前の後ろに括弧で囲まれた文字列を戻り値の型とともに記述する必要がありますか?現在のところ、これは動作していない、私は理由を知らない

+0

あなたが読んで(理解)でしたコンパイラエラーメッセージ? –

+0

また、あなたのクラスには*有効な* mainメソッドがありません.JVMがプログラムを開始するメソッドです。 –

答えて

1

あなたのメインallwaysは文字列配列を取得...ので、別の方法を記述するか、入力として最初のパラメータ(args [0])を使用します。

public int getUniqueInt(String ints){ 
    String[] strIntsArr = ints.split(','); 
    int[] intArr = new int[strIntsArr.length]; 

    for(int i = 0; i<intArr.length; i++){ 
     intArr[i] = Integer.getInteger(strIntsArr[i]); 
    } 

    //now you have all ints in the intArr and only have to get the unique one 
} 

EDIT:

  • Javaでメインメソッドがオールウェイズ空隙ある
  • JavaでメインメソッドがオールウェイズのString []としてparamsは
  • 待つ(ノーリターンを有していません) Java istのmainメソッドは常に静的でpublicです

詳細については、 ook at this

あなたのメインは、そのようなものでなければなりません:

public static void main(String[] args){ 
    String yourintString = "1,2,3,4,5"; 
    //or if you want it as paramter (commandline) 
    String yourintString = args[0]; 

    System.out.println("Unique int: "+ getUniqueInt(yourintString)); 
} 
+0

私はこれらの2つの方法を1つのプログラムで組み合わせようとすると、動作させることができません。メソッドからintを返すと、 'yourintStringは変数に解決できません 'というメッセージが表示されます。 – Tom

+0

プログラムのprintln行がスペルチェックをしています。サンプルに誤字があります。間違いを見つけられない場合は、コードをあなたのメインに投稿してください –

関連する問題