练习1:通过键盘输入一个数字,打印其所有因子并对所有因子求和(因子不包含自己)因子就是能被这个数整除的数字例如:10的因子有 12 5

public class TestScanner

{

public static void main(String[] args)

{

Scanner scan = new Scanner(System.in);

System.out.println("请输入一个整数:");

int i = scan.nextInt();//i就是从键盘上输入的整数

System.out.print(i+"的因子有:");

int sum = 0;

for (int j = 1; j <i; j++) {

if (i%j==0) { //i除j能余0,j就是因子

sum += j;

System.out.print(j+" ");

}

}

System.out.println();

System.out.println(i+"的因子和为"+sum);

}

}

练习2:

   通过键盘输入一个数字,判断该数字是否为质数

    质数:只能被1和自己整除的数字

本来的答案是:

public class TestScanner {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

System.out.println("请输入一个整数:");

int i = scan.nextInt();

for (int j = 2; j < i; j++) {

if (i % j == 0) {

System.out.print(i + "不是质数");

return;//刚开始不知道使用return。一直没成功。

                                       //当然,现在知道用。但具体使用还是得等老师讲授。

}

}

System.out.println(i + "是质数");

}

}

但是后来发现“0”和“1”既不是质数也不是合数,而输出“0”和“1”却都显示为质数,因此,只好在

System.out.println(i + "是质数");

这句话上边添加一句

if (i == 1||i==0) {

System.out.println(i + "即不是质数也不是合数");

 else

测试后发现,这样子应该就可以了吧。