当前位置: 代码迷 >> J2SE >> 为何程序运行不出来,也不报错
  详细解决方案

为何程序运行不出来,也不报错

热度:40   发布时间:2016-04-23 20:27:38.0
为什么程序运行不出来,也不报错
//test

import java.util.*;
import java.io.*;

class Test {
public static void main(String[] args) {
childlist cc = new childlist();
cc.compute();
}
}

class childlist {
int[] list;

childlist() {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
list = new int[Integer.parseInt(str)];

str = scanner.nextLine();
ss = str.split(" ");
for(int i = 0;i<list.length;i++) {
list[i] = Integer.parseInt(ss[i]);
//System.out.println("list :" + list[i]);
}
}

public void compute() {
int i, j;

int begin = 0, end = 0,len = 0;

for(i = 0;i<this.list.length;i++) {
int temp = 1;
for(j = i;j<this.list.length;j++) {

temp *= this.list[j];
//System.out.println("temp :" + temp);
int num = 1;
while(num*num <= temp) {
if(num*num == temp && len < j-i) {
begin = i + 1;
end = j + 1;
len = begin - end + 1;
}else {
num ++;
}
}
}
}
if(len > 0) {
System.out.println("begin :" + begin + "end :" + end + "length :" + len);
}else {
System.out.println("None");
}
}

}

题目要求是:接受的第一行参数是指明列表的长度,第二行是列表的内容,要求求出最长的子列表,使子列表中数的乘积是一个完全平方数,输出起始位置、结束位置、子列表长度,求各位大神解释一下
------解决方案--------------------
这个debug 调试看看很清楚
------解决方案--------------------
调试一下,应该很快能够发现问题,仔细一点
------解决方案--------------------
试了一下,可以运行,需要输入两次并回车.
代码本身有个问题,ss变量没有定义类型,改成 String[] ss = str.split(" ");
  相关解决方案