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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小丑的媳妇2 中级黑马   /  2013-3-5 11:23  /  1476 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 朱荣宁. 于 2013-3-13 10:06 编辑

求 a+aa+aaa+…….+aaaaaaaaa=?
其中a为1至9之中的一个数,项数也要可以指定,我按照毕老师视频里的方法写了一个程序,可是为什么我上机运行不出来?求高手指点,本人是初学者,高手指教!
我的代码如下:
mport java.util.Scanner;

class Multinomial{

public static void main(String[] args){

int a; //定义输入的 a

int howMany; //定义最后的一项有多少个数字

Scanner scanner = new Scanner(System.in);

System.out.println(“请输入一个 1~9 的 a 值”);

a = scanner.nextInt();

System.out.println(“请问要相加多少项?”);

howMany = scanner.nextInt();

int sum=0;

int a1=a; // 用来保存 a 的初始值

for (int i=1; i<=howMany; i++){

sum+= a;

a = 10*a +a1; // 这表示a 的下一项

// 每次 a 的下一项都等于前一项*10,再加上刚输入时的 a ;
}

System.out.println(“sum=”+sum);

}

}

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
猫腻 + 1
黄玉昆 + 3 赞一个!

查看全部评分

3 个回复

倒序浏览
package Day23;
import java.util.Scanner;
class Test2
{
        public static void main(String[] args)
        {
                int a; //定义输入的 a
                int b; //定义最后的一项有多少个数字
                Scanner scanner = new Scanner(System.in);
                System.out.println("请输入一个 1~9 的 a 值");
                a = scanner.nextInt();
                System.out.println("请问要相加多少项?");//------->这里不要使用汉字输入法写双引号,程序会报错.
                b= scanner.nextInt();
                System.out.println(getNum(a,b));
        }//重新排了一下,这样好看点,.
        public static int getNum(int a,int b)
        {
                int sum=0;
                int a1=a; // 用来保存 a 的初始值
                for (int i=1; i<=b; i++){
                sum+= a;
                a = 10*a +a1; // 这表示a 的下一项
                // 每次 a 的下一项都等于前一项*10,再加上刚输入时的 a ;
                }
                return sum;
        }
}

评分

参与人数 1技术分 +1 收起 理由
猫腻 + 1

查看全部评分

回复 使用道具 举报
你的双引号是中文下的,改为英文下的就okay
回复 使用道具 举报
  1. public class Test1 {

  2.         public static void main(String[] args) {
  3.                 int baseNum; // 定义输入的 baseNum变量
  4.                 int termNum; // 定义最后的一项有多少个数字
  5.                 int sum = 0;//定义一个变量用于存储最后相加的值
  6.                 Scanner scanner = new Scanner(System.in);
  7.                 try {
  8.                         System.out.println("请输入一个 1~9 的 baseNum值");
  9.                         baseNum = scanner.nextInt();
  10.                         System.out.println("请问要相加多少项?");
  11.                         termNum = scanner.nextInt();
  12.                         int base = baseNum; // 用来保存 baseNum的初始值
  13.                         for (int i = 1; i <= termNum; i++) {
  14.                                 sum += baseNum;
  15.                                 baseNum = 10 * baseNum + base; // 这表示baseNum 的下一项
  16.                                 // 每次 baseNum 的下一项都等于前一项*10,再加上用户输入的baseNum值;
  17.                         }
  18.                 } catch (Exception e) {
  19.                         System.out.println("你的输入有误!");
  20.                         e.printStackTrace();
  21.                 }
  22.                 System.out.println("sum=" + sum);
  23.         }
  24. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马