Java 怎么从姓名@年龄这个输入中得到姓名和年龄

输入:小明@10 小红@9 小方@7 姓名@年龄
输出:小明10岁 小红9岁 小方7岁 姓名年龄岁
我的问题是,怎么从输入中吧姓名和年龄提取出来。

以下答案由GPT-4.0Plus大模型与博主A努力中.......共同编写:
这个链接指向的CSDN提问需要提取姓名@年龄格式的输入信息,获取姓名和年龄。
解决这个问题可以采用字符串切分的方法:

  1. 获取输入字符串,例如:"张三@20"
  2. 使用@符号切分字符串,可以使用String的split()方法:
java
String input = "张三@20";
String[] strArray = input.split("@");

  1. strArray切分后的结果是["张三", "20"]两个元素。
  2. 第一个元素strArray[0]是姓名:"张三"
  3. 第二个元素strArray[1]是年龄:"20"
  4. 将年龄字符串转换为整数类型,使用Integer.parseInt():
java
int age = Integer.parseInt(strArray[1]); 

所以,完整代码如下:

java
public class GetNameAndAge {
    public static void main(String[] args) {
        String input = "张三@20";
        
        String[] strArray = input.split("@");
        String name = strArray[0];
        int age = Integer.parseInt(strArray[1]);
        
        System.out.println("姓名:" + name);
        System.out.println("年龄:" + age);
    } 
}

运行结果:
姓名:张三
年龄:20
所以,解决这个问题主要依赖String的split()方法进行切分,再获取切分后的字符串并转换为对应类型。这是Java字符串操作中很常用的技能

String.split()方法,先用空格分隔出不同的人,再用@分隔出姓名和年龄

String input = "";
String[] p = input.split(" ");
for (String text : p) {
    String[] attr = text.split("@");
    System.out.println(attr[0] + attr[1] + "岁");
}