/*
习题1:计算出1到1000以内所有不能被7整除的整数之和
计划:
第一步:算出1000以内能被7整除的数字有多少个。
1000 / 7 =142.8个 ,所以是142个。并且算出他们的和
第二步:在算出1000个整数相加的和
第三步:用1000个整数和减去能被7整除的整数和
第四步:得到结果
*/
public class Test{
public static void main(String[] args){
int jieguo1 = 0;//设置结果1为0
int i = 7; //先设置一个int类型为7 的数值(用来计算能被7整除的整数和)
for (int k = 1;k <= 142 ;k++ ){//已知总共有142个能被7整除的数字,所以总共循环142遍
int qihe = i*k; //k从1开始到142 每个数字*i的和
jieguo1 += qihe; //把他们的和,赋值给结果1
}
System.out.println("1~1000内能被7整除的整数和为:"+jieguo1);//结果1
int jieguo2 = 0;
for (int j = 1;j<=1000 ;j++ ){ //计算1~1000的整数和
jieguo2 += j; //赋值给结果2
}
System.out.println("1~1000的整数和为:" + jieguo2);//结果2
System.out.println("1000以内除了被7整除的整数和为:"+(jieguo2 - jieguo1));//用结果2减去结果1
//以上为自己的第一次的思路
System.out.println("-----------------------------------------------------");
//一下是为第二次的思路
int m = 0;
for (int n = 1;n<=1000 ;n++ ){
if (n % 7 =0){//如果当n能被7整除时,下一步就是跳过这个跟数字
continue;
Test.java:30: 错误: 意外的类型
if (n % 7 =0){//如果当n能被7整除时,下一步就是跳过这个跟数字
^
需要: 变量
找到: 值
1 个错误
结果错误,发现if语句后面应该跟的是布尔表达式
if ((n % 7) != 0){ //如果循环到某个n可以不被7整除时
m += n; // 就把每个n的结果赋值给m
}
}
System.out.println("1~1000以内不能被7整除的整数和为:" + m);
System.out.println("-------------一上为自己的思路------------------------");
System.out.println("-------------一下为老师的思路------------------------");
int b = 0;
for (int a=1;a<=1000 ;a++ ){
if (a % 7 == 0 ){
continue;
}
b += a;
}
System.out.println("1~1000以内不能被7整除的整数和为:"+ b);
}
}
运行结果为: