import java.util.*;
class sample
{
public static void main(String args[])
{
Scanner in=new Scanner(System.in); //taking input from user
long t=in.nextLong();
long a[]=new long[1000]; //array of long numbers
for(long i=0;i<a.length;i++)
{
a[i]=in.nextLong(); //values into array
}
sort(a,t);
return 0;
}
void sort(long a[],long t)
{
long count=0,temp;
for(long i=0;i<t;i++)
{
for(long j=i+1;j<t;j++) //sorting the array using selection sort
{
if(a[i]<a[j])
{
temp=a[i];
a[j]=a[i];
a[j]=temp;
}
}
}
for(long j=0;j<t;j++)
{
if(a[t]-3*a[j+1]<=0)
continue;
else //program for chang and mathematical champ
count++;
}
System.out.println(count);
}
}
$ 1)类型不匹配错误 2)Void方法不能返回值 3)不能对类型的非静态方法排序(long [],long)进行静态引用 如何解决这些问题
答案 0 :(得分:1)
for(long i=0;i<a.length;i++)
和类似的,其中i
用于索引数组,应该是for(int i=0;i<a.length;i++)
,因为数组(和列表)是用整数索引的,而不是长整数; System.exit(0);
,尽管这不是一个好习惯。或者你可以打电话给return; sort
。static void sort(...)
静态
醇>
作为旁注,你显然是java的初学者。我强烈建议阅读&#34; Effective Java 2nd Ed&#34;作者:Joshua Bloch,了解java的工作原理。或者至少离开java trails来了解java的工作原理。如果你不学习,你 会被烧伤。