2016-11-24 202 views
0

我正在做一个Java任务,要求我编写一个方法,接收一个整数如1,1,3,4,4的字符串,并返回一个这些数字是唯一的如何接收字符串作为输入,并将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

您的类还没有* valid * 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 
} 

编辑:

  • Java中的主要方法是永诺空隙(没有返回)
  • Java中的主方法永诺等待一个String []作为PARAMS
  • 一个java中的主要方法ist allways static and public

欲了解更多信息,请参阅ook 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

当我尝试在一个程序中合并这两种方法时,我无法使其工作。当我从方法中返回int时,我的'yourintString无法解析为一个变量',在程序 – Tom

+0

的System.out,println行中检查拼写,我的样本中有一个拼写错误。如果你找不到这个错误,请将代码发布到你的主页上 –

相关问题