zoukankan      html  css  js  c++  java
  • 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 */
  • 相关阅读:
    Python-按指定列排序、斜着遍历
    牛客-SQL-刷题(下)
    特征工程之离散变量处理
    python 原生列表删除元素方法总结
    sklearn进行归一化
    Keras安装与测试遇到的坑
    常用机器学习算法优缺点及应用汇总
    特征工程
    机器学习模型评估指标总结
    pyecharts多图表同一页显示
  • 原文地址:https://www.cnblogs.com/parkour1026/p/10796901.html
Copyright © 2011-2022 走看看