问题在代码倒数第四行

来源:7-1 编程练习

夏里巴人

2015-07-10 13:12

package HelloWorld;
public class demo1 {
	public static void main(String[] args) {
        
        // 创建对象,对象名为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;
			// 如果需要输出的长度超过数组实际长度,则退出
			if(arr[i]>=0 && arr[i]<=100){
				System.out.print(arr[i]+" ");}
			t++;
			if(t > s)
			break;
		// 计算累计输出次数,此处不能明白为什么t>=s的时候,输出的个数是s-1个
		}
    }
}


写回答 关注

3回答

  • 夏里巴人
    2015-07-10 13:42:01

    应该在if后的大括号内部做累加  ... 

  • 夏里巴人
    2015-07-10 13:37:59

    找到原因了, 应该是先输出,然后再判断, 原来的代码, 如果有3个数字不符合条件,则输出的会更少

  • 夏里巴人
    2015-07-10 13:15:13

    也就是第37行不理解,按照条件,当t>=s的时候是可以输出的,但是实际效果总是少输出一行

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题