import java.util.List;/**
* 改正下面程序中的错误
*/
public class NaturalNumberSum {
/**
* 存放数字的容器
*/
private List list; public NaturalNumberSum(int count) {
for (int i = 1; i <= count; i++)
list.add(i + "");
} /**
* 对容器中的数字进行求和
*
* @return
*/
public int sum1() {
int rs = 0;
for (int i = 0; i < list.size(); i++) {
Integer num = (Integer) list.get(i);
rs += num.intValue();
}
return rs;
} /**
* 删除容器中的数字
*/
public void clear() {
for (int i = 0, size = list.size(); i < size; i++) {
list.remove(i);
}
} /**
* 利用递归对前x个自然数求和
*
* @param x
* @return
*/
private static int sum2(int x) {
if (x == 0)
return 0;
else
return x + sum2(--x);
} /***************************************************************************
*
* 要求:找出程序中的3处错误并加以改正,标注出行数和出错原因,程序的正确输出结果为true
*
**************************************************************************/
public static void main(String[] args) {
int x = 5;// 对前x个自然数求和,sum1和sum2是两种求和算法
NaturalNumberSum sumer = new NaturalNumberSum(x);
System.out.println(sumer.sum1() == NaturalNumberSum.sum2(x));
sumer.clear();
}}
* 改正下面程序中的错误
*/
public class NaturalNumberSum {
/**
* 存放数字的容器
*/
private List list; public NaturalNumberSum(int count) {
for (int i = 1; i <= count; i++)
list.add(i + "");
} /**
* 对容器中的数字进行求和
*
* @return
*/
public int sum1() {
int rs = 0;
for (int i = 0; i < list.size(); i++) {
Integer num = (Integer) list.get(i);
rs += num.intValue();
}
return rs;
} /**
* 删除容器中的数字
*/
public void clear() {
for (int i = 0, size = list.size(); i < size; i++) {
list.remove(i);
}
} /**
* 利用递归对前x个自然数求和
*
* @param x
* @return
*/
private static int sum2(int x) {
if (x == 0)
return 0;
else
return x + sum2(--x);
} /***************************************************************************
*
* 要求:找出程序中的3处错误并加以改正,标注出行数和出错原因,程序的正确输出结果为true
*
**************************************************************************/
public static void main(String[] args) {
int x = 5;// 对前x个自然数求和,sum1和sum2是两种求和算法
NaturalNumberSum sumer = new NaturalNumberSum(x);
System.out.println(sumer.sum1() == NaturalNumberSum.sum2(x));
sumer.clear();
}}
* 改正下面程序中的错误
*/
public class NaturalNumberSum {
/**
* 存放数字的容器
*/
private List list=new ArrayList();
public NaturalNumberSum(int count) {
for (int i = 1; i <= count; i++)
list.add(i+"");
} /**
* 对容器中的数字进行求和
*
* @return
*/
public int sum1() {
int rs = 0;
for (int i = 0; i < list.size(); i++) {
String num = (String) list.get(i);
rs += Integer.parseInt(num);
}
return rs;
} /**
* 删除容器中的数字
*/
public void clear() {
for (int i = 0; i < list.size(); i++) {
list.remove(i);
}
} /**
* 利用递归对前x个自然数求和
*
* @param x
* @return
*/
private static int sum2(int x) {
if (x == 0)
return 0;
else
return x + sum2(--x);
} /***************************************************************************
*
* 要求:找出程序中的3处错误并加以改正,标注出行数和出错原因,程序的正确输出结果为true
*
**************************************************************************/
public static void main(String[] args) {
int x = 5;// 对前x个自然数求和,sum1和sum2是两种求和算法
NaturalNumberSum sumer = new NaturalNumberSum(x);
System.out.println(sumer.sum1() == NaturalNumberSum.sum2(x));
sumer.clear();
} }
package com;
import java.util.ArrayList;
import java.util.List;
public class NaturalNumberSum {
private List list;
public NaturalNumberSum(int count) {
list = new ArrayList();
for (int i = 1; i <= count; i++)
list.add(i + "");//错误1,没对list进行初始化
}
public int sum1() {
int rs = 0;
for (int i = 0; i < list.size(); i++) {
Integer num = Integer.valueOf(list.get(i).toString());//错误2,不能从把string强制转换为Integer类型
rs += num.intValue();
}
return rs;
}
public void clear() {
for (int i = 0 ,size = list.size(); i < size;size = list.size()) {
list.remove(i);//错误3,移除此列表中指定位置上的元素。向左移动所有后续元素(将其索引减 1)。
}
}
private static int sum2(int x) {
if (x == 0)
return 0;
else
return x + sum2(--x);
} /***************************************************************************
*
* 要求:找出程序中的3处错误并加以改正,标注出行数和出错原因,程序的正确输出结果为true
*
**************************************************************************/
public static void main(String[] args) {
int x = 5;// 对前x个自然数求和,sum1和sum2是两种求和算法
NaturalNumberSum sumer = new NaturalNumberSum(x);
System.out.println(sumer.sum1() == NaturalNumberSum.sum2(x));
sumer.clear();
}}