题目
一个正整数,如果它能被 7 整除,或者它的某一位上的数字为 7,那么它是与 7 相关的数
输入 N, 打印 0~N 之间, 与 7 无关的数字 以及 数字的数量
代码
import java.util.Scanner;
public class Homework0514 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int num = sc.nextInt();
System.out.println("方法1");
int result1 = method1(num);
System.out.println("共有" + result1);
System.out.println("--------------------------------------");
System.out.println("方法2(推荐)");
int result2 = method2(num);
System.out.println("共有" + result2);
}
public static int method1(int num) {
int count = 0;
int temp = 0;
for (int i = 0; i < num; i++){
temp = i;
if(temp % 7 != 0){
String str = Integer.toString(temp);
char[] c = str.toCharArray();
boolean flag = true;
for(int j = 0; j < c.length; j++){
if (c[j] == '7'){
flag = false;
}
}
if (flag == true){
count++;
System.out.print(temp + ( temp % 10 == 9 ? "\n" : "\t"));
}
}
}
return count;
}
public static int method2(int num) {
int count = 0;
for (int i = 0; i < num; i++){
if (i % 7 != 0 & (String.valueOf( i ).indexOf("7") == -1)) {
count++;
System.out.print(i + ( i % 10 == 9 ? "\n" : "\t"));
}
}
return count;
}
}
运行结果
请输入一个正整数:200
方法1
1 2 3 4 5 6 8 9
10 11 12 13 15 16 18 19
20 22 23 24 25 26 29
30 31 32 33 34 36 38 39
40 41 43 44 45 46 48 50 51 52 53 54 55 58 59
60 61 62 64 65 66 68 69
80 81 82 83 85 86 88 89
90 92 93 94 95 96 99
100 101 102 103 104 106 108 109
110 111 113 114 115 116 118 120 121 122 123 124 125 128 129
130 131 132 134 135 136 138 139
141 142 143 144 145 146 148 149
150 151 152 153 155 156 158 159
160 162 163 164 165 166 169
180 181 183 184 185 186 188 190 191 192 193 194 195 198 199
共有138
--------------------------------------
方法2(推荐)
1 2 3 4 5 6 8 9
10 11 12 13 15 16 18 19
20 22 23 24 25 26 29
30 31 32 33 34 36 38 39
40 41 43 44 45 46 48 50 51 52 53 54 55 58 59
60 61 62 64 65 66 68 69
80 81 82 83 85 86 88 89
90 92 93 94 95 96 99
100 101 102 103 104 106 108 109
110 111 113 114 115 116 118 120 121 122 123 124 125 128 129
130 131 132 134 135 136 138 139
141 142 143 144 145 146 148 149
150 151 152 153 155 156 158 159
160 162 163 164 165 166 169
180 181 183 184 185 186 188 190 191 192 193 194 195 198 199
共有138