-1

我将codingbat 热身练习变成了Eclipse 上的一个程序。该练习要求获取单词的最后一个字符并将其添加到单词的开头和结尾,例如“cat”→“tcatt”。

第一次尝试:

我从这组代码开始,收到错误“void methods cannot return a value”。经过一番研究,似乎很简单,如果只有一个 main 方法,则无法返回值。

Scanner input = new Scanner(System.in);

System.out.println("Enter a word: ");

String str = input.nextLine(); // user input

String last = str.substring(str.length() - 1);
return last + str + last;

第二次尝试:

我在这里尝试添加第二种方法并将底部的第二个字符串重命名为 str1,以纠正重复的局部变量错误:

public static void main(String[] args) {

}

public String backAround(String str) {

    Scanner input = new Scanner(System.in);

    System.out.println("Enter a word: ");

    String str1 = input.nextLine(); //user input

    String last = str1.substring(str.length() - 1);
    return last + str1 + last;

此代码现在不显示任何错误,但不会显示任何内容,因此不会接受任何用户输入。正确获取用户输入并返回字符串的方法是什么?

4

3 回答 3

0

因此,对于字符串方法,您返回一个字符串值。因此,您必须有一个等于该字符串值的字符串变量,然后将其打印出来。

      public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            System.out.println("Enter a word: ");
            String str1 = input.nextLine(); //user input

            String result = backAround(str1); 
            System.out.print(result); 

            }

            public String backAround(String str) {
                String last = str.substring(str.length() - 1);
                return last + str + last;
        }
于 2015-08-15T18:13:14.123 回答
0

您将函数return与简单地向用户显示文本混淆了。如果您还不了解函数,您可以坚持修改main函数,并将结果打印回控制台

Scanner input = new Scanner(System.in);

System.out.println("Enter a word: ");

String str = input.nextLine(); // user input
String last = str.substring(str.length() - 1);
System.out.println(last + str + last);
于 2015-08-15T17:39:14.103 回答
0

您的问题是您的代码是正确的,但从未使用过。更改String backAround(String str)为,String backAround()因为您不需要 str 参数,因为它从未使用过。然后向您添加main以下内容

System.out.println(backAround());

main是您运行应用程序时将运行的唯一函数。通过添加System.out.println(backAround())你告诉你的应用程序它必须运行backAround函数然后打印返回的字符串的行

于 2015-08-15T18:24:49.180 回答