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();
System.out.println(words);
}
public void Scrambler()
}
String [] words = words.split(" ");
}
}
我真的不明白如何将变量“单词”变成我的争夺方法,所以我可以将每个单词分成单独的字符串,我只是在我这样做时声明一个新的数组单词?我如何从上面抓取变量。另外,我的system.out.println只是检查我的扫描仪是否有效。或者我做得对吗?它实际上是在拆分这些词吗?
答案 0 :(得分:0)
您似乎只想将变量从一个方法传递到另一个方法。
旁注:在Java中,方法名称以小写字母开头,通常是动词:scramble not Scrambler
在:
public static void main(String[] args)
{
Scanner sc = new Scanner (System.in);
String words = sc.nextLine();
System.out.println(words);
}
您已获得输入,但仍无法发送任何内容,因为您尚未创建WordScrambler实例。
所以,让我们做其中一个:
WordScrambler wordScrambler = new WordScrambler();
好的,现在你可以访问scramble方法了,所以
wordScrambler.scramble( words )
会让事情发生变化
现在,您需要在scramble中对该String执行某些操作(在修改方法声明以接受String参数之后),例如拆分它,混淆单词并输出结果,例如。
答案 1 :(得分:0)
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]);
}
}
}
答案 2 :(得分:0)
您需要将变量作为参数传递给方法。如果您制作方法static
,则只需通过main()
。
另外,将输入命名为(显然)input
,因为它就是这样。
我将如何做到这一点:
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 ]", "");
}