大牛们帮看看
package Test;
import org.testng.annotations.Test;
import java.util.Random;
import java.util.Scanner;
/**
* Created by YLL on 2015/9/17.
*/
public class TestAlgorithm {
@Test
public void test1() {
int N = 10;
int i, x;
int f = -1;
int[] arr = new int[N];
System.out.println("下面是随机生成的10个数字:");
Random s= new Random();
for(i=0; i<N; i++) {
arr[i] = s.nextInt(100);
System.out.print(arr[i] +" ");
}
for(i=0; i<N; i++) {
System.out.print(arr[i] +" ");
}
System.out.println();
System.out.print("请输入你要找的数字:");
Scanner input = new Scanner(System.in);
x = input.nextInt();
for(i=0; i<N; i++) {
if(x==arr[i]) {
f = i;
break;
}
}
if(f < 0) {
System.out.println("木有找到数据!");
}
else {
System.out.println("你要找的数:" + x + "在数列的第" + (f+1) + "个");
}
}
}
这样有错吗 怎么不能通过啊
------解决思路----------------------
试了可以通过
------解决思路----------------------
这个跟你用的IDE有关,TestNG和JUnit等测试组件,其自身也是一个java程序。可以由开发人员自己调用启动来进行单元测试。同时也可以把这些工具集成到IDE中。可以通过操作IDE来间接启动测试组件来对目标类进行单元测试。由于Scanner涉及到输入流句柄的问题,有些IDE可能没处理好,会导致在输出窗口输入不了数据。比如IDEA和eclipse这2款IDE中,测试如下图:


另外根据楼主用的Testng,我本机做了测试,自己手动启动该组件进行单元测试,是正常可以获取的。如下图:



通过测试可以排除是testng底层实现的问题。这个由IDE间接启用导致的结果,暂时找不到较好的解决方案。楼主如果是用eclipse的话,可以换成junit或者进行单元测试时,尽量别用控制台输入
就这些吧,希望能对你有所帮助!
