【发布时间】:2017-05-20 14:11:24
【问题描述】:
我是 Java 新手,我的代码需要一些帮助。
import java.util.Arrays;
import java.util.Scanner;
import java.util.Random;
public class asdf {
public static void main(String[] args)
{
Random generator = new Random();
int num1;
String theWord;
Scanner in = new Scanner(System.in);
System.out.println("Enter a string to rearrange");
theWord = in.nextLine();
int length = theWord.length();
Random times=new Random();
System.out.println("Length of String:"+length);
char[] chars=theWord.toCharArray();
Arrays.sort(chars);
int timez=times.nextInt();
num1=generator.nextInt(length);
char c=theWord.charAt(num1);
String newWord=new String(chars);
for(int i=0;i+=1;i<timez)
{
newWord=newWord.replace(c, '*');
}
System.out.println(newWord);
}
}
所以我试图重新排列字符串并用'*'替换一些字符,但它不起作用,我不知道如何修复它。
【问题讨论】:
-
首先你需要在你的
for循环中交换i+=1和i<timez -
for(int i=0;i+=1;i
-
检查
for循环。它应该类似于:for(int i=0;i<timez;i++) -
我改变了它们,现在它可以工作但通常需要大约 20 秒才能处理,是否有可能解决这个问题?