简体   繁体   English

使用Math.random制作单词加扰器

[英]Making a word Scrambler with Math.random

import java.util.Scanner;

public class WordScrambler {

  public static void main(String[] args) {

    Scanner in = new Scanner(System.in);
    int chosenWord;
    String[] words = {"hogwash","Rudolph","yule-log","Eggnog","CandyCane","Christmas","Fruitcake","gingerbread","Krampus","nutcracker"};

    System.out.println("Pick a number between 1-10");
    chosenWord=in.nextInt();

    String a=words[chosenWord].substring(0,words[chosenWord].length()/2);
    String b=words[chosenWord].substring(words[chosenWord].length()/2);
    String c=b+a;
    int x=(int)(Math.random()*(words[chosenWord].length()-1))+1;
    String d=c.substring(0, words[chosenWord].length()-x);
    String e=c.substring(words[chosenWord].length()-x);
    String f=e+d;
    System.out.println(f);
  }
}

This is what i have so far. 这是我到目前为止所拥有的。 I cant find a way to Scramble it anymore. 我再也找不到加扰的方法了。 Right now the output is for example: Hogwash :shhogwa. 现在的输出例如是:Hogwash:shhogwa。 Thats the only word that Scrambles. 多数民众赞成在唯一的单词。

    public static void main(String[] args) {

    Scanner in = new Scanner(System.in);
    int chosenIndex;
    String[] words = { "hogwash", "Rudolph", "yule-log", "Eggnog", "CandyCane", "Christmas", "Fruitcake",
            "gingerbread", "Krampus", "nutcracker" };

    System.out.println("Pick a number between 1-10");
    chosenIndex = in.nextInt();

    String chosenWord = words[chosenIndex - 1];
    System.out.println(chosenWord);

    StringBuilder scrambled = new StringBuilder();
    List<Character> letters = new ArrayList<Character>();
    for (char x : chosenWord.toCharArray()) {
        letters.add(x);
    }
    while (letters.size() != 0) {
        int random = (int) (Math.random() * letters.size());
        scrambled.append(letters.remove(random));
    }

    System.out.println(scrambled.toString());
}

use meaningful variable names so its clear what its referring to 使用有意义的变量名,以便清楚地指出其指的是什么

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM