首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数组中的4个数字作为字符串

数组中的4个数字作为字符串
EN

Stack Overflow用户
提问于 2014-12-30 22:51:54
回答 3查看 425关注 0票数 1

我需要一个具有以下属性的字符串数组:

  • 4位数
  • 没有重复数字("1214“无效)
  • 无0

有比手工键入更简单的方法吗?比如:

代码语言:javascript
运行
复制
String[] s = {"1234","1235",1236",1237",1238",1239","1243","1245"};

对不起我的英语!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-30 23:20:04

下面的代码将生成一个与您的规范相关的数组。

代码语言:javascript
运行
复制
public class Test {

public static void main(String[] args) {

    List<String> result = new ArrayList<>();

    Set<Character> set = new HashSet<>();
    for (int i = 1234; i <= 9876; i++) {
        set.clear();

        String iAsString = Integer.toString(i);
        char[] chars = iAsString.toCharArray();

        boolean valid = true;
        for (char c : chars) {
            if (c == '0' || !set.add(c)) {
                valid = false;
                break;
            }
        }

        if (valid) {
            result.add(iAsString);
        }
    }


    String[] yourStringArray = result.toArray(new String[result.size()]);

    System.out.println(Arrays.toString(yourStringArray));

}


}
票数 1
EN

Stack Overflow用户

发布于 2014-12-30 22:57:14

*编辑*刚刚看到它是用Java编写的。因此,如果循环中没有一个数字重复,则使用以下函数: String.valueOf(number)将整数转换为字符串。

不知道你在做什么语言,但我假设没有重复,没有回答。所以,您可以做的是有一个从0到9999的循环,然后运行所有的数字,同时检查每一个数字是否重复,如果是这样,丢弃数字(不要存储到数组)。您可以在其函数中以多种语言将整数转换为字符串,这样您就可以这样做,然后将其存储到数组中。祝好运。希望这会有所帮助(来自我的head...there的最快的解决方案可以更有效)

票数 1
EN

Stack Overflow用户

发布于 2014-12-30 23:15:30

尝试以下使用结构创建随机数的方法:

代码语言:javascript
运行
复制
ArrayList<Integer> rawNumbers = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5,6,7,8,9));
public String createRandomNumberSring()
{
    String result = "";
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.addAll(rawNumbers);
    for(int i = 0; i < 4; i++)
    {
        int index = (int)(Math.random() * (numbers.size() + 1));
        result += numbers.get(index).toString();
        numbers.remove(index);
    }
    return result;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27713731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档