package?HelloWorld;
public?class?demo1?{
public?static?void?main(String[]?args)?{
????????
????????//?創(chuàng)建對象,對象名為hello
???????int?arr[]={99,-23,64,91,119,52,92};
???????demo1?ss=new?demo1();
???????ss.thr(arr,3);
}
public?void?thr(int?arr[],int?s)
????{
for(int?j=0;j<arr.length;j++)?
//由于我使用的版本不能導入Arrays,所以自己寫了個排序使用
{
for(int?i=0;i<arr.length;i++)
{
int?tmp;
if(arr[i]<arr[j])
{
tmp?=?arr[i];
arr[i]?=?arr[j];
arr[j]?=?tmp;
}
}
}
int?t?=?0;
for(int?i=0;i<arr.length;i++)
{
if(i>arr.length-1)
break;
//?如果需要輸出的長度超過數(shù)組實際長度,則退出
if(arr[i]>=0?&&?arr[i]<=100){
System.out.print(arr[i]+"?");}
t++;
if(t?>?s)
break;
//?計算累計輸出次數(shù),此處不能明白為什么t>=s的時候,輸出的個數(shù)是s-1個
}
????}
}
2015-07-10
應該在if后的大括號內(nèi)部做累加 ?...?
2015-07-10
找到原因了, 應該是先輸出,然后再判斷, 原來的代碼, 如果有3個數(shù)字不符合條件,則輸出的會更少
2015-07-10
也就是第37行不理解,按照條件,當t>=s的時候是可以輸出的,但是實際效果總是少輸出一行