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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ToSina 中级黑马   /  2015-12-2 22:31  /  1951 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
功能: 实现求和 sum = a + aa + aaa + aaaa +...
           其中 a 是一个数字,a的数目由自己定义.

*/

import java.lang.Math;
class Demo {
        public static void main (String[] args){
                int total = plus(1,1);                       
                System.out.println(total);
        }                       
        public static int plus (int num,int x){
                int sum = 0;
                for (int y = 0;y < x; y++ ){
                        sum = sum + (10^y)*num;                       
                }
                return sum;
        }
}

我用这种方法写出来,但是运算结果不正确,请各位帮忙看下哪里有问题.谢谢了..

15 个回复

倒序浏览
  1. import java.util.Scanner;

  2. public class Test58 {
  3.      public static void main(String[] args) {
  4.                   Scanner sc = new Scanner(System.in);
  5.                   System.out.println("输入运算的数字:");
  6.                   int num = sc.nextInt();
  7.                   System.out.println("输入运算的次数:");
  8.                   int count = sc.nextInt();
  9.                   method(num,count);
  10.         }

  11.         private static void method(int num, int count) {
  12.                 int max = num;
  13.                 int in = num;
  14.                   for(int i=1;i<count;i++){
  15.                           num = num*10+in;
  16.                           max = max+num;
  17.                   }
  18.                   System.out.println(max);
  19.         }
  20. }
复制代码
回复 使用道具 举报 1 0
  1. public class Test {

  2.         public static void main(String[] args) {
  3.                 Scanner sc = new Scanner(System.in);
  4.                 int num = sc.nextInt();

  5.                 int sum = sum(num);
  6.                 System.out.println(sum);
  7.         }

  8.         private static int sum(int num) {
  9.                 if (num < 10) {
  10.                         return num;
  11.                 } else {
  12.                         return num + sum(num / 10);
  13.                 }
  14.         }
  15. }
复制代码
递归的思路。
回复 使用道具 举报

谢谢指导,....{:2_32:}
回复 使用道具 举报

好的  谢谢  指导..
回复 使用道具 举报
向各位学习了!
回复 使用道具 举报
再续啸傲 来自手机 中级黑马 2015-12-3 21:02:31
7#
get and look look
回复 使用道具 举报
雨来 高级黑马 2015-12-3 21:13:44
8#
xue  xi yi  xia
回复 使用道具 举报
观摩了。。。
回复 使用道具 举报
学习一下 东西不难 注意细节
回复 使用道具 举报
我也来凑热闹{:2_36:}
public static void main(String[] args) {
                int total = plus(2, 4);
                System.out.println(total);
        }

        public static int plus(int num, int n) {
                int sum = num;
                int number = num;
                for (int i = 1; i < n; i++) {
                        number = num + number * 10;
                        System.out.println(number);
                        sum = sum + number;
                }
                return sum;
        }
回复 使用道具 举报
学习一下 东西不难 注意细节
回复 使用道具 举报
路过学习一下!!!
回复 使用道具 举报
再续啸傲 来自手机 中级黑马 2015-12-8 12:45:33
14#
学习了!!
回复 使用道具 举报
學習一下,感謝分享
回复 使用道具 举报
6666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马