如何从冒号分隔的IPL团队输入格式中提取整数?
如何从IPL团队输入字符串中提取球员金额整数
针对你的需求,这里提供Java语言的具体实现方案,核心通过字符串分割和类型转换提取所需整数:
1. 完成IPLTeam类的实现
按照要求创建包含指定属性和方法的类,构造方法中直接触发剩余金额计算:
public class IPLTeam { private String teamName; private int player1Amount; private int player2Amount; private int player3Amount; private int player4Amount; private int remMoney; // 带参构造方法 public IPLTeam(String name, int p1, int p2, int p3, int p4) { this.teamName = name; this.player1Amount = p1; this.player2Amount = p2; this.player3Amount = p3; this.player4Amount = p4; calculateMoney(); // 初始化时直接计算剩余金额 } // 计算剩余金额并展示结果的方法 public void calculateMoney() { // 这里假设总预算为50,可根据实际需求修改该数值 int totalBudget = 50; int totalSpent = player1Amount + player2Amount + player3Amount + player4Amount; this.remMoney = totalBudget - totalSpent; System.out.printf("队名:%s,剩余金额:%d%n", teamName, remMoney); } }
2. 处理输入并提取整数的核心逻辑
针对输入格式(如CSK:15:12:10:8),通过以下步骤提取队名和球员金额:
- 先用
split(" ")将整个输入分割为单个团队的字符串数组 - 对每个团队字符串,用
split(":")分割为5个部分,第1部分是队名,后4部分是金额字符串 - 将后4个字符串通过
Integer.parseInt()转换为int类型,同时处理可能的格式异常
具体实现代码:
import java.util.Scanner; public class IPLTeamManager { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入8支团队的信息(空格分隔):"); String input = scanner.nextLine(); String[] teamEntries = input.split(" "); IPLTeam[] teams = new IPLTeam[8]; for (int i = 0; i < teamEntries.length; i++) { String entry = teamEntries[i]; String[] parts = entry.split(":"); // 校验输入格式是否正确 if (parts.length != 5) { System.out.println("无效输入格式:" + entry); continue; } try { // 提取队名 String teamName = parts[0]; // 提取并转换球员金额为整数 int p1 = Integer.parseInt(parts[1]); int p2 = Integer.parseInt(parts[2]); int p3 = Integer.parseInt(parts[3]); int p4 = Integer.parseInt(parts[4]); // 创建IPLTeam对象并加入数组 teams[i] = new IPLTeam(teamName, p1, p2, p3, p4); } catch (NumberFormatException e) { System.out.println("金额格式错误,非整数输入:" + entry); } } scanner.close(); } }
关键说明
split(":")是核心分割方法,能精准将冒号分隔的内容拆分为独立元素Integer.parseInt()负责将字符串类型的金额转换为int,需要捕获NumberFormatException处理非数字输入的异常情况- 剩余金额计算中的总预算
totalBudget请根据题目实际要求修改数值
内容的提问来源于stack exchange,提问作者Manmeet Singh
相关产品推荐
相关产品推荐

