当前位置: 首页 > 知识库问答 >
问题:

需要程序找到空间,提取空间左右的变量并打印出来。我该怎么做?

贺佑运
2023-03-14

我正在编写一个程序,用户在一行中输入他们的名字和姓氏,中间有空格。然后程序将检测空格并将名字和姓氏提取到不同的变量中以打印出来。

示例:假设一个用户在一行上输入了“simon hall”,中间有空格,我希望它像这样输出:名字:simon姓氏:hall

我的代码(现在几乎没用):(下面是输入/输出)

import java.util.Scanner;

class Main {

  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    System.out.println("Input forename and surname on one line (space included)");

    String fullName = scanner.next();

    String result = fullName;
    result = result.split(" ") [0];
    System.out.println(result);
    
   }
} 

**输入:zayaan khan(一行)

输出:

扎耶安**(我想打印名字:扎耶安姓氏:汗)

谢谢;)

共有2个答案

章彬郁
2023-03-14

使用正则表达式

public class Main {

    public static void main(String[] args) {
        final Pattern pattern = Pattern.compile("(\\S+)\\s+(\\S+)");

        final Scanner scanner = new Scanner(System.in);
        final Matcher matcher = pattern.matcher(scanner.nextLine());

        if (matcher.find())
            System.out.println(String.format("Forename: %s, Surname: %s",  matcher.group(1), matcher.group(2)));
    }
}
彭允晨
2023-03-14

逐行获取输入

String fullName = scanner.nextLine(); // line by line input getter

根据空间拆分字符串并将其存储在String Array中,然后您可以使用该数组的索引来访问它

String result[] = fullName.split(" "); // spliting the string

System.out.println("Forename: "+result[0]+" Surname: "+result[1]);// print it 
 类似资料:
  • 问题内容: 考虑以下代码块: 当我在构造函数中初始化两个变量(和)时,其他两个变量(和)是否需要内存中的空间来存储null值? Q1。如果它们确实需要空间,那么值将占用多少内存?(例如,占用4个字节)。 Q2。字符串在内存中占用多少空间?字符串需要多少存储空间?它取决于字符串的长度吗? 问题答案: 在Java中,它只是引用(基本上是受限制的指针)可以具有的值。这意味着引用没有任何意义。在这种情况下

  • a.c: #include <stdio.h> int func(int a, int b) { int c = a * b; printf("c is %d\n", c); } int main(void) { func(1, 2); return 0; } b.c: #include <stdio.h> int func1

  • 我有一个使用制作的基于网页。问题是,我有那些额外的空格在divs的左侧和右侧。基本上内容都在中心。我怎么移除这个? 我试着使用margin-top,margin-left,margin-right,bootstrap的pull-left和pull-right,margin和padding设置为0,width:100%等,没有任何效果。 这里有一张图片: 看左边和右边,这是我想要去掉的空白。我不知道

  • 问题内容: 我该如何重写: 使用? 聚苯乙烯 我很确定这是可能的,但是javadoc有点令人困惑。 问题答案: 您需要指定字段的最小宽度。 为什么要生成一定长度的空格字符串。 如果您想要具有此长度的值的列,则可以执行以下操作: 它为您提供numberOfSpaces-5个空格,后跟Hello。如果要让Hello出现在左侧,请在numberOfSpaces之前添加减号。

  • 问题内容: 我开始使用CSS并遇到基本问题。 我有一个div元素: 颜色代码生效(良好)。 我的问题是 div的左侧,顶部和右侧 似乎有一些 空白 。如何摆脱空白?例如,如果您查看Facebook页面,顶部是完全蓝色的,顶部没有空白。 问题答案: 您需要在样式表中重置默认的 padding 和 margin 属性: 正如@Jason McCreary提到的那样,您还应该考虑使用重置样式表。他链接到

  • 问题内容: 这个问题已经在这里有了答案 : 如何在没有换行符或空格的情况下进行打印? (22个答案) 3年前关闭。 我想知道在打印某些内容时如何删除其他空格。 就像我这样做时: 输出将是: 但是我想要: 有什么办法吗? 问题答案: 如果您不需要空格,请不要使用。使用字符串串联或格式化。 级联: 格式: 后者要灵活得多,请参见方法文档和“ 格式化字符串语法” 部分 。 您还将遇到较早的格式化样式: