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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐文豪 中级黑马   /  2015-6-7 15:24  /  561 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制
求大神指点   循环怎么做?还有那个数是怎么弄出来的?(例如: 值是5   然后是6项相加   5  55  555  5555。。。。是怎么出来的?)
最好有分析思路   

评分

参与人数 1技术分 +2 收起 理由
lwj123 + 2

查看全部评分

10 个回复

倒序浏览
还是没能理解楼主题目的意思
回复 使用道具 举报
外层循环控制相加的个数求和,内层循环求每一项的数。
class Test{
        public static void main(String[] args){
                int sum=0,num=0,a=2,count=5;
                for(int x=0;x<count;x++){
                        for(int y=0;y<=x;y++){
                                num=a*(int)Math.pow(10,y)+num;//注意方法Math.pow(double a,double b)中间会有几次类型的转换。
                        }
                        sum=sum+num;
                }
        }
}
回复 使用道具 举报
新手,给楼主写了个代码,楼主试试
  1. public class Sum
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.        
  6.                 int a=qiuhe(2,3);
  7.                 System.out.println(a);
  8.         }
  9.         public static int qiuhe(int a,int n)
  10.         {       
  11.                 int sum = 0;
  12.                 int s = 0;
  13.                 int i = 0;
  14.                 for(int x = 0;x<n;x++)
  15.                 {
  16.                         s = s+a*mishu(x);//求第n项的值
  17.                         sum = i+s;//前n项求和
  18.                         i=sum;//将S赋值给i
  19.                 }
  20.                 return sum;
  21.        
  22.         }
  23.        
  24.        
  25.         public static int mishu(int m)//计算10的m次方
  26.         {
  27.                 int i = 1;
  28.                 for(int x=0;x<m;x++)
  29.                         i=i*10;
  30.                 return i;
  31.                
  32.         }
  33. }
复制代码
回复 使用道具 举报
付欢 发表于 2015-6-7 16:49
新手,给楼主写了个代码,楼主试试

由于不会写输入语句,楼主见谅啊
回复 使用道具 举报
付欢 发表于 2015-6-7 16:51
由于不会写输入语句,楼主见谅啊

上面的注释我再看下了,有错误,sum才是第n项的值
回复 使用道具 举报
????
回复 使用道具 举报
kikt 发表于 2015-6-7 16:56
思路分析:
每一个需要相加的数字都是由同一个数字组成
每一个数字按照字符串理解,在计算时将其转变为int ...

arr = a + arr[i - 1];
这个是什么意思?
a + arr[i - 1];这个不是很懂   指点下
回复 使用道具 举报
kikt 发表于 2015-6-7 16:56
思路分析:
每一个需要相加的数字都是由同一个数字组成
每一个数字按照字符串理解,在计算时将其转变为int ...

arr[0] = a + "";
还有这个是什么意思呢?“”这里面是空格还是什么?
回复 使用道具 举报
选择错误的。
A 接口中只能包含抽象方法和常量
这个是正确的
下面给你说一下抽象类和接口的区别:抽象类由abstract关键字来修饰,接口由interface关键字来修饰。抽象类中除了有抽象方法外,也可以有数据成员和非抽象方法;而接口中所有的方法必须都是抽象的,接口中也可以定义数据成员,但必须是常量。

B 一个类可以实现多个接口
这个是正确的,java中 支持多实现 但是不支持多继承
C 类实现接口时必须实现其中的方法

这个是正确的 在接口的官方文档中 是这么说的,一个非接口的类实现另一个类 必须实现其所有方法。
D 接口不能被继承

这个说法是错误的。 接口是可以被接口继承的 你可以在java编辑器中试试。一个接口可以继承多个接口
interface C extends A, B {}是可以的.

一个类可以实现多个接口:
class D implements A,B,C{}

但是一个类只能继承一个类,不能继承多个类
class B extends A{}

在继承类的同时,也可以继承接口:
class E extends D implements A,B,C{}
这也正是选择用接口而不是抽象类的原因
回复 使用道具 举报
明天自己敲一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马