题目
一个正整数,如果它能被 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); //打印结果
}
/**
* 方法1:通过将输入的数字转成字符串,放进字符数组里,遍历数组,判断元素是否为7
* 不能被7整除 & 不含7
* @param num 用户输入的数
* @return 返回个数
*/
public static int method1(int num) {
int count = 0; //计数器
int temp = 0; //临时变量
for (int i = 0; i < num; i++){ //i 在 [0,num)之间循环
temp = i; //赋值
if(temp % 7 != 0){ //不能被 7 整除
String str = Integer.toString(temp); //将 int 转成 String
char[] c = str.toCharArray(); //放进数组
boolean flag = true; //默认不含7
for(int j = 0; j < c.length; j++){ //循环判断,该数是否含有 7 这个字符
if (c[j] == '7'){
flag = false; //含有7,则赋值 false
}
}
if (flag == true){ //不含7
count++; //计数 +1
System.out.print(temp + ( temp % 10 == 9 ? "\n" : "\t")); //打印
}
}
}
return count; //返回值
}
/**
* 方法2:通过将输入的数字转成字符串,调用 .indexOf() 方法,判断是否包含7
* @param num
* @return
*/
public static int method2(int num) {
int count = 0; //计数器
for (int i = 0; i < num; i++){ //i 在 [0,num)之间循环
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
版权声明:本文为weixin_42906083原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。