问题:
求表达式s=a+aa+aaa+aa…a的值,要求a从键盘接收,表达式的长度也从键盘接收
代码如下:
package ch1;
import java.util.Scanner;
public class Ch5_4 {
/*
* 参数a,每位上的数字
* 参数length,数的长度
* 返回由length个a组成的数
* */
public static int getNum(int a,int length) {
int v=0;//保存结果
int s=1;//权值
for(int i=0;i<length;i++) {//按长度循环
v=v+a*s;//按位累加
s=s*10;//权值翻倍
}
return v;//返回结果
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入a的值:");
int a=in.nextInt();//接收a值
System.out.print("请输入n的值:");
int n=in.nextInt();//接收n值
int sum=0;
for(int i=1;i<=n;i++) {//根据表达式个数累加求和
sum=sum+getNum(a,i);
}
System.out.print("表达式的值:"+sum);//输出结果
}
}
运行结果: