A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 2457740857 中级黑马   /  2016-6-1 00:23  /  551 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

3 个回复

倒序浏览
  1. package com.itheima;

  2. import java.util.Scanner;

  3. public class Demo {
  4.         public static void main(String args[]){
  5.                 Scanner scan = new Scanner(System.in);
  6.                 int a = 2;
  7.                 System.out.println("请输入相加次数:");
  8.                 int time = scan.nextInt();
  9.                 int sum = 0;
  10.                
  11.                 for(int i = 0 ; i< time ; i++){
  12.                         int temp = 1;
  13.                         //直接赋值为a
  14.                         int num = a;
  15.                         //第一次循环不乘以10
  16.                         for(int j = 0; j < i; j++){
  17.                                 temp = 10*temp;
  18.                                 num = num + a*temp;
  19.                         }
  20.                         sum += num;
  21.                 }
  22.                 System.out.println(sum);
  23.         }
  24. }
复制代码


我得到aaaa的方法感觉有些麻烦,谁有简单点的,比如使用函数等
回复 使用道具 举报
public void(int num){
回复 使用道具 举报
/** nums为总数   第一次传个0
     num为个数
     a为数字
*/
public long adds(int nums, int num, int a){
      if(num<=1){
         return nums+a;
      }else{
        int b= 0;
        for(int i=num, i>0;i--)
           b+=a*(10^i);
        return adds(nums+b,num-1,a);
      }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马