import java.util.*;
import java.lang.*;
public class FindMissingNumbers {
public static void main(String[] args) {
String input1="1 2 3 3 5 5";
String[] input2 = input1.split(" ");
int l1=0;
int a=1;
final int[] l2 = { 0 };
HashMap<Integer,Integer> has = new HashMap<>();
for (int i=0;i< input2.length;i++){
if(input2[i] == null || input2[i] ==" ")
continue;
if(Integer.parseInt(input2[i]) != a){
l1++;
}
if(has.containsKey(Integer.parseInt(input2[i]))){
has.put(Integer.parseInt(input2[i]),has.get(Integer.parseInt(input2[i]))+1);
}
else{
has.put(Integer.parseInt(input2[i]),1);
}
a++;
}
String ans = String.valueOf(l1);
has.forEach((k,v)-> {
if(v>1){
l2[0]++;
}
});
String final_ans = ans+l2[0];
return final_ans;
}
}
给出错误,因为Void方法无法返回值。 如果要尝试将方法更改为静态方法并删除void,则它不能作为Java应用程序运行。
答案 0 :(得分:0)
主要方法是程序开始执行的地方。它的签名通常是public static void main(String[] args)
,即使不是几乎总是如此,您通常也不应更改它。
static
表示该方法属于该类,因此无需实例化该类即可调用该方法。
如果您要创建一个返回值的函数,则应创建另一个不会无效的函数,例如,将其值返回给main,然后在其中打印该值。
答案 1 :(得分:0)
main为空,因此它不应返回任何内容,main方法中不能包含return语句。
每个方法必须包含一个返回类型(例如int,long,double,int []和void,其中void表示该方法将不返回任何内容)。
如果您尝试运行没有返回类型的方法,那么它将不会运行。
public static void main(String[] args) {}
此方法的返回类型为void,表示此方法内部不应有return语句
但您最终会返回ans
return final_ans;
因此,要运行该应用程序,您需要删除return语句,而您可以像这样将答案打印到控制台
System.out.println(ans)