import java.util.Scanner; /* * 实现功能: * 输入一个整数,求从1到n这n个整数的十进制表示中1出现的次数。 * * 思路: * 1.使用Scanner工具类来获取用户输入的信息; * 2.定义有参带返回值的方法calcOne()来实现功能; * 3.方法体中使用循环语句判断1出现的次数。 */ public class CalcNum { public static void main(String[] args) { System.out.println("请输入一个整数:"); Scanner input = new Scanner(System.in); int numInput = input.nextInt(); CalcNum hello = new CalcNum(); int n1 = hello.calcOne(numInput); System.out.println("从1到"+numInput+"这"+numInput+"个整数中1出现的次数为:"); System.out.println(n1); public int calcOne(int num) { // 这一句报错参数 calcOne 的修饰符不合法;只允许使用终态,标记“(”上有语法错误,应为 ; ,标记“)”上有语法错误,应为 ; int pow1 = 1; int pow2 = 10 * pow1; int count = 0; while(num >= pow1) { pow2 = 10*pow1; switch( (num % pow2) / pow1) { case 0: count += (num / pow2) * pow1; break; case 1: count += (num / pow2) * pow1; count += num % pow1 + 1; break; default : count += (num / pow2 + 1) * pow1; } pow1 *= 10; } return count; } } }
这到底怎么了,我不懂不懂不懂,求指教。
_Exception
相关分类