一尘不染

提示用户在一行上输入名称并将其打印为“ Last,First”

java

在我们整个实验室中,没有人能够解决这个问题,因此我们必须做作业。我们要提示用户在一行上输入他们的名字和姓氏。主要方法应该处理所有println语句,并且应将名称打印为Last,First。

line 26 states "cannot find symbol."
line 36 states "not a statement. ';' expected.
line 39 states unreachable statement.

我已经玩了一个小时的代码,几乎已经放弃了。有什么帮助吗?

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package lab11;

import java.util.Scanner;

/**
 *
 * @author xxxxxx
 */
public class Lab11 {
    public static void main(String[] args) {
        System.out.println("Enter your name: ");
        Scanner user_input=new Scanner(System.in);

        changeNameFormat();
        System.out.println(lastName+", " + firstName);

        System.out.println("Enter a word. ");
        palindrome();
    }

    public static String changeNameFormat() {
        String firstName, lastName;
        firstName, lastName = user_input.nextLine;
        return lastName;
        return firstName;
    }

阅读 190

收藏
2020-12-03

共1个答案

一尘不染

这是您需要执行的步骤列表:

获取输入[将是示例:“约翰·史密斯”]

分成两部分[有几种方法可以执行此操作]

firstName = input.substring(0, input.indexOf(" "));
lastName = input.substring(input.indexOf(" ")+1, input.length());

substring()返回字符串的一部分。

indexOf()在字符串中查找特定字符。

它需要一个开始值和一个结束值。

在这种情况下,我们从头开始,到找到空间时结束。

为了获得姓氏,我们从找到空格的地方开始,到字符串的末尾结束。

您还可以将其与.trim()方法结合使用,该方法从字符串的开头/结尾删除空格。

最后,我们返回串联的值:

return lastName + ", " + firstName;

完整的代码:

package lab11;
import java.util.Scanner;
public class Lab11 {
    public static Scanner user_input;
    public static void main(String[] args) {
        user_input = new Scanner(System.in);
        System.out.print("Enter your name: ");
        System.out.println(changeNameFormat(user_input.nextLine()));
    }
    public static String changeNameFormat(String input) { //Pass a name
        String firstName, lastName;
        firstName = input.substring(0, input.indexOf(" "));
        lastName = input.substring(input.indexOf(" ")+1, input.length());
        return lastName + ", " + firstName;
    }
}

经过测试:http//www.compileonline.com/compile_java_online.php

最后一件事。按照您的方法命名的习惯是一个很好的约定。

由于您的名称为“ changeNameFormat()”,因此我们可能应该将其更改为我们想要更改的名称。

然后在我们的主体中,我们可以获得输入,甚至可以将其作为参数传递。

2020-12-03