java编写一个算法,一个数用数组表示,执行加1操作,之后的数组用一个数表示。

问题描述

java编写一个算法,一个数用数组表示,执行加1操作,之后的数组用一个数表示。

用java编写一个算法,一个数用数组表示,执行加1操作,之后的数组用一个数表示。

解决方案

数组可以表示很多数的…你说,用一个数表示啥意思??

解决方案二:

你应该是想要下面的实现。如果有用请采纳。

import java.util.ArrayList;
import java.util.List;

public class TestMain {

public static void main(String[] args) {

    // 递归实现,10进制累加
    // 数:123,累加次数(加1):878
    System.out.println(new TestMain().startIncrement(123, 878));

}

public int startIncrement(int value, int incrementCount) {

    // 把一个数份成数组表示,从低位到高位顺序存储
    String[] ss = String.valueOf(value).split("");
    List<Integer> list = new ArrayList<Integer>();
    for (int i = ss.length - 1; i >= 0; i--) {
        if (!ss[i].isEmpty()) {
            list.add(Integer.valueOf(ss[i]));
        }
    }

    // 累加N回
    int retValue = 0;
    while (incrementCount > 0) {
        incrementCount--;

        // 递归实现,从低位开始加算(最低位index:0)
        retValue = increment(list, 0);
    }

    return retValue;
}

// 递归方法(1次加1动作)
public int increment(List<Integer> list, int index) {

    // 进位时,没有超过最高位
    if (list.size() > index) {

        // 求10进制余数
        int mod = (list.get(index).intValue() + 1) % 10;

        // 余数分配给当前位
        list.set(index, Integer.valueOf(mod));

        // 余数是0,说明有进位,则向高位递归
        if (mod == 0) {
            increment(list, ++index);
        }
    } else {

        // 进位时,超过最高位,追加一个最高位
        list.add(new Integer(1));
    }

    // 1次加1动作后的结果,从高位到低位连接后,再变换成数值
    StringBuilder sb = new StringBuilder();
    for (int i = list.size() - 1; i >= 0; i--) {
        sb.append(list.get(i));
    }

    return Integer.parseInt(sb.toString());
}

}

时间: 2024-09-19 10:04:18

java编写一个算法,一个数用数组表示,执行加1操作,之后的数组用一个数表示。的相关文章

求解答-试编写一个算法,找出一个循环链表中的最小值。我是新手,编了一个程序,不知错在哪

问题描述 试编写一个算法,找出一个循环链表中的最小值.我是新手,编了一个程序,不知错在哪 #includeusing namespace std; class LinkNode{ int data; LinkNode *link; LinkNode(int d=0LinkNode *l=0){data=d;link=l;}}; class List{private: LinkNode *first; int n;public: List() { first=new LinkNode; first

怎么用Java编写一个简单的登录系统?可以注册账号的那种

问题描述 怎么用Java编写一个简单的登录系统?可以注册账号的那种 数据库用的是MySQL,但Java操作方面的不知道怎么入手,求大神指点啊,有实例参考就更好了,谢谢 解决方案 import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.awt.Container; import java.util.*; import java.sql.*; class Login extends JFrame im

多谢多谢-用java编写一个从服务器下载与本地名匹配的文件

问题描述 用java编写一个从服务器下载与本地名匹配的文件 10C 就是一个程序版本与服务器特定路径下所有程序版本匹配,比较高的下载,本地最高关闭程序,现在的卡点就是无法连接FTP,全部是自己看视频学习,从网上查的代码会报错,知识欠缺无法处理登陆问题,还请各位大神不嫌弃悬赏低的帮帮忙,谁都是从菜鸟过来的,我悬赏很少,还要留着不会的再发,希望各位大神帮帮忙,不介意的话留下联系方式方便以后不会的可以帮忙解答,小弟在此感激不尽.谢谢! 解决方案 http://blog.csdn.net/cuiran/

Java编写一个图书管理系统,要使用JDVC技术访问,带有SQL数据库,请问怎么写

问题描述 Java编写一个图书管理系统,要使用JDVC技术访问,带有SQL数据库,请问怎么写 Java编写一个图书管理系统,要使用JDVC技术访问,带有SQL数据库,请问怎么写 解决方案 http://download.csdn.net/detail/u014029255/8284261 解决方案二: 1.写界面 2.写数据库连接 3.写数据库的增删改查 4.处理细节

用java 编写一个手机联系人管理的GUI

问题描述 用java 编写一个手机联系人管理的GUI 使用hashtabel 保存数据 解决方案 hashtable效率不是很好,建议使用ConcurrentHashMap 解决方案二: 使用WindowBuilder,可视化编程,控件都是直接拖动就能布局

使用JAVA编写一个聊天程序,要求有图形界面,还有就是要显示联系人,后天就要交作业了,求大神!

问题描述 JAVA编写,聊天程序,有图形界面,还有界面显示联系人,类似于QQ的,但是极简的就行,求大神帮助啊,我后天就要交了,谢谢大神!!!!! 解决方案 解决方案二:网上有源代码--解决方案三:哪里有,我怎么没有找到,帮忙找一下!解决方案四:引用1楼u013335717的回复: 网上有源代码-- 哪里有,我怎么没有找到,帮忙找一下!解决方案五:上大学的时候写过好像还在U盘里趴着呢

java纯java编写一个通讯录

问题描述 能保存到文件=-=用流的方式=不用数据库怎么编写要实现swt界面~保存按钮保存到一个相当于写入的文件~--求解如何有人有思路么=-= 解决方案 解决方案二:思路:界面就不说了,自己画吧.操作的话,首先在按钮上设置点击的监听事情,然后编写点击事件的处理方法,方法中需要先获得界面上控件的输入值,然后通过输出流写入到文件.解决方案三:请找百度娘娘

用java编写一个 类似于Jcreator的编译器

问题描述 有什么指导书目什么的没有啊,不知道怎么下手~~~ 解决方案 解决方案二:用Java写Java程序的编译器,有点乱吧解决方案三:你自己去研究研究eclipse的代码吧.

求用java编写一个测量传输带宽的工具

问题描述 新手要做课设,比如本地测量连接到新浪测量这个通道的传输带宽求大哥大姐们帮忙 解决方案 解决方案二:可以测到你程序连接到新浪使用的时间.但是,你要的这个传输带宽,不懂...解决方案三:可能我说的有错误测网络速度也可以只测连接使用时间少了点