首页 > 解决方案 > 在不使用 stringbuilder 或电动工具的情况下随机化和改组字符串

问题描述

我想在不使用任何数组、StringBuilder或电动工具(为您工作的包或方法)和使用Math.random().

我下面的代码有效,但我不喜欢它,因为我不能使用字符串生成器或.append(). 有人可以帮我修复它吗?

public class loopPrr
{
  static String shuffle(int a) {
       
    String s = "BaaBooDaaDoo";
    StringBuilder sb = new StringBuilder(a); 
  
    for (int i = 0; i < a; i++) { 
      int r = (int)(s.length() * Math.random()); 
  
      sb.append(s.charAt(r)); 
    } 
  
    return sb.toString();         
  }
}

标签: javastringfor-loopshuffle

解决方案


如果我做对了,您可以简单地使用 String:

static String shuffle(int a) {
    String s = "BaaBooDaaDoo";

    String sb = "";

    for (int i = 0; i < a; i++) {
        int r = (int) (s.length() * Math.random());

        sb += s.charAt(r);
    }

    return sb;
}

我建议更改“sb”变量的名称以避免误解。


推荐阅读