输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)
Input
一个整数N。(N不大于30000)
Output
从小到大排列的不大于N的与7有关的数字,每行一个。
Sample Input
20
Sample Output
7
14
17
public class PrintSeven { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("输入一个数:"); int n = scanner.nextInt(); PrintSeven.findSeven(n); } public static int findSeven(int n) { int i; for (i = 0; i <= n; i++) { if (i % 7 == 0) { System.out.println(i); } else if (Integer.toString(i).indexOf("7") != -1) { System.out.println(i); } } return i; } }
Java总结:
1.Scanner
Scanner是SDK1.5新增的一个类,使用方法:Scanner scanner=new Scanner(System.in);
scanner对象可以调用下面的方法,用来读取用户在命令行中输入的各种数据类型:next(),nextByte(),nextDouble(),nextFloat,nextInt(),nextLin(),nextLong(),nextShot()...
方法执行时会造成堵塞,输入数据后回车确认,根据输入数据类型返回数据。
2.indexOf()
indexOf() 方法返回一个整数值,指出 String 对象内子字符串的开始位置。
indexOf()括号内所包含的字符在该字符串内的循序位置,在第几位就返回几,如:str1=asdfkju,str1.indexOf('d'),则返回的值是2。如果有重复的字符出现,以第一个字符为准。如果没有找到子字符串, 则返回 -1。上面题目中用indexOf()判断输入数字中是否含有"7"。
题目来自:http://www.programfan.com/acm/
方法总结参照:
http://blog.csdn.net/pkbilly/article/details/3068912
http://www.blogjava.net/javagrass/archive/2011/10/26/362076.html