用java制作单词扰码器

用java制作单词扰码器,java,arrays,Java,Arrays,} 我真的不明白如何将我的变量“words”放入我的置乱方法中,这样我就可以将我放入的每个单词分割成单独的字符串,我这样做只是声明了一个新的数组单词吗?如何从上面获取该变量。另外,我的system.out.println正在检查扫描仪是否正常工作。或者我做得对吗?它实际上是在拆分单词吗?似乎您只是想将一个变量从一个方法传递到另一个方法 旁注:在Java中,方法名以小写字母开头,通常是动词:scramble而不是scramber 在: 您已经获得了输入,但仍然没有任何地方可以发送,因为您还没有创建

}


我真的不明白如何将我的变量“words”放入我的置乱方法中,这样我就可以将我放入的每个单词分割成单独的字符串,我这样做只是声明了一个新的数组单词吗?如何从上面获取该变量。另外,我的system.out.println正在检查扫描仪是否正常工作。或者我做得对吗?它实际上是在拆分单词吗?

似乎您只是想将一个变量从一个方法传递到另一个方法

旁注:在Java中,方法名以小写字母开头,通常是动词:scramble而不是scramber

在:

您已经获得了输入,但仍然没有任何地方可以发送,因为您还没有创建WordScrambler的实例

那么,让我们做一个:

public static void main(String[] args) 
{
    Scanner sc = new Scanner (System.in);
    String words = sc.nextLine();
    System.out.println(words);
}
好的,现在你可以使用置乱方法了,所以

WordScrambler wordScrambler = new WordScrambler();
会让事情进展顺利

现在,您需要在扰码中处理该字符串(在您修复方法声明以接受字符串参数之后),例如拆分它、混淆单词并输出结果。

import java.util.Scanner;
wordScrambler.scramble( words )
公共类字扰频器{ 公共字符串前缀、内部、后缀、新词; 公共静态void main(字符串[]args){ 扫描仪sc=新的扫描仪(System.in); String words=sc.nextLine(); WordScramber-WordScramber=新的WordScramber(); 字扰频器。扰频器(字); } 公共无效置乱器(字符串字){ 字符串[]word=words.trim().split(“”); for(int i=0;i
您需要将变量作为参数传递给方法。如果将该方法设为静态方法,则只需从
main()
调用即可

另外,将您的输入命名为(显然)
input
,因为它就是这样

我会这样做:

import java.util.Scanner;

public class WordScrambler {

    public String prefix, inner, postfix, newword;

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String words = sc.nextLine();
        WordScrambler wordScrambler = new WordScrambler();
        wordScrambler.scrambler(words);

    }

    public void scrambler(String words) {

        String[] word = words.trim().split(" ");

        for (int i = 0; i < word.length; i++) {

            System.out.println(word[i]);
        }
    }
}
publicstaticvoidmain(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
字符串输入=sc.nextLine();
System.out.println(加扰(输入));
}
公共静态字符串加扰(字符串输入){
List words=new ArrayList(Arrays.asList(input.trim().split(\\s+));
集合。洗牌(单词);
返回words.toString().replaceAll(“[^\\w]”,“”);
}

代码中的打开括号和关闭括号数量不匹配。当代码语法不正确时,很难看出您希望哪个逻辑在哪里工作。“扰码器”应该是一个对“单词”输入进行扰码的类吗?如果是这样的话,请在括号中加上有助于说明这一点的括号。很抱歉,我已经解决了这个问题,是的,扰码器应该是一个类。看看雷斯托乔尼克和gjman2的建议,我想两者都会让你达到你需要的程度。
import java.util.Scanner;

public class WordScrambler {

    public String prefix, inner, postfix, newword;

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String words = sc.nextLine();
        WordScrambler wordScrambler = new WordScrambler();
        wordScrambler.scrambler(words);

    }

    public void scrambler(String words) {

        String[] word = words.trim().split(" ");

        for (int i = 0; i < word.length; i++) {

            System.out.println(word[i]);
        }
    }
}
public static void main(String[] args) {
    Scanner sc = new Scanner (System.in);
    String input = sc.nextLine();
    System.out.println(scramble(input));
}

public static String scramble(String input) {
    List<String> words = new ArrayList<String>(Arrays.asList(input.trim().split("\\s+")));
    Collections.shuffle(words);
    return words.toString().replaceAll("[^\\w ]", "");
}