• Java50道经典习题-程序8 输入数字求和


    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 
    分析:关键是计算出每一项的值。

     1 import java.util.Scanner;
     2 public class Prog8{
     3     public static void main(String[] args){
     4         System.out.print("求s=a+aa+aaa+aaaa+...的值,请输入a的值:");
     5         Scanner scan1 = new Scanner(System.in);
     6         int a = scan1.nextInt();
     7         
     8         System.out.print("你想要几个数相加,请输入一个整数:");
     9         Scanner scan2 = new Scanner(System.in);//以空格作为分隔符
    10         int n = scan2.nextInt();
    11         scan1.close();//关闭扫描器
    12         scan2.close();//关闭扫描器
    13         System.out.println(expressed(a,n)+add(a,n));
    14     } 
    15     //求和表达式
    16     private static String expressed(int a,int n){
    17         StringBuffer sb = new StringBuffer();
    18         StringBuffer subSB = new StringBuffer();
    19         for(int i=1;i<n+1;i++){
    20           subSB = subSB.append(a);//将int参数的字符串表示附加到此序列
    21           sb = sb.append(subSB);//将int参数的字符串表示附加到此序列
    22           if(i<n)
    23             sb = sb.append("+");
    24         }
    25         sb.append("=");
    26         return sb.toString();
    27     }
    28     //求和
    29     private static long add(int a,int n){
    30         long sum = 0;
    31         long subSUM = 0;
    32         for(int i=1;i<n+1;i++){
    33             subSUM = subSUM*10+a;
    34             sum = sum+subSUM;
    35         }
    36         return sum;
    37     }
    38 }
    39 /*运行结果
    40 求s=a+aa+aaa+aaaa+...的值,请输入a的值:2
    41 你想要几个数相加,请输入一个整数:5
    42 2+22+222+2222+22222=24690
    43 */
  • 相关阅读:
    If循环初探
    Python用户交互程序
    Python 变量
    python的第一个程序
    PropertiesConfiguration读取值中包含英文逗号,用“”转义
    在windows下查看某个运行程序(或进程)的命令行参数
    eclipse open call hierarchy
    根据process杀死进程
    java在不存在文件夹的目录下创建文件
    eclipse部署web项目至本地tomcat, webapps中找不到
  • 原文地址:https://www.cnblogs.com/parkour1026/p/10796901.html
Copyright © 2020-2023  润新知