黑马程序员技术交流社区
标题:
一个经典java题
[打印本页]
作者:
chad8753
时间:
2015-7-28 00:10
标题:
一个经典java题
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
程序分析:关键是计算出每一项的值。
import java.util.Scanner;
public class Prog8{
public static void main(String[] args){
System.out.print("求s=a+aa+aaa+aaaa+...的值,请输入a的值:");
Scanner scan = new Scanner(System.in).useDelimiter("\\s*");//以空格作为分隔符
int a = scan.nextInt();
int n = scan.nextInt();
scan.close();//关闭扫描器
System.out.println(expressed(2,5)+add(2,5));
}
//求和表达式
private static String expressed(int a,int n){
StringBuffer sb = new StringBuffer();
StringBuffer subSB = new StringBuffer();
for(int i=1;i<n+1;i++){
subSB = subSB.append(a);
sb = sb.append(subSB);
if(i<n)
sb = sb.append("+");
}
sb.append("=");
return sb.toString();
}
//求和
private static long add(int a,int n){
long sum = 0;
long subSUM = 0;
for(int i=1;i<n+1;i++){
subSUM = subSUM*10+a;
sum = sum+subSUM;
}
return sum;
}
}
作者:
yongaidongbing
时间:
2015-7-28 00:36
。。。。。。。。。。。。。。。。。。。。。不错
作者:
huizi1992
时间:
2015-7-28 18:51
这个挺不错的!!
作者:
392225327
时间:
2015-7-28 19:18
学习了
作者:
水佳伟
时间:
2015-7-28 19:28
楼主厉害,v587
作者:
水佳伟
时间:
2015-7-28 19:30
楼主厉害,v587
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2