黑马程序员技术交流社区

标题: 求 a+aa+aaa+…….+aaaaaaaaa=? [打印本页]

作者: 小丑的媳妇2    时间: 2013-3-5 11:23
标题: 求 a+aa+aaa+…….+aaaaaaaaa=?
本帖最后由 朱荣宁. 于 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);

}

}


作者: 陈圳    时间: 2013-3-5 13:42
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;
        }
}
作者: Benwolf0818    时间: 2013-3-5 14:04
你的双引号是中文下的,改为英文下的就okay
作者: scott0610    时间: 2013-3-5 14:14
  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. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2