java - 有没有办法将输入分成4个int并传递给java中的方法(int a,int b,int c,int d)?
问题描述
我有这个问题。假设我想从输入的第一行开始将用户输入作为整数来确定输入的数量,并且输入必须是 4 个类别的数字(天、小时、分钟、秒)。作为输入示例
输入:
输入整数:3
4 5 6 3555
6 11 3 120
1 0 44 11
现在我想要对这些输入做的是存储它们并分隔包含 4 个数字的每一行(然后分隔 4 个数字),然后我想将每一行传递给一个接受 4 个参数的方法。
可能吗?以及如何编码?
解决方案
您可以将 BufferedReader 与 InputStreamReader 一起使用并读取每一行String
并使用 Wrapper 类将其包装为 int 以将 String 转换为 int 我们使用此方法Integer.parseInt(<String yourString>)
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
int totalLines = Integer.parseInt(br.readLine());
for(int i = 0; i < totalLines ; i++){
String [] num = br.readLine().split(" ");
int num1 = Integer.parseInt(num[0]);
int num2 = Integer.parseInt(num[1]);
int num3 = Integer.parseInt(num[2]);
int num4 = Integer.parseInt(num[3]);
// here call the method you want to call
}
.split(" ")
将根据我们在其中定义的参数拆分行,在您的情况下,它是space
并且记住 split 返回一个字符串数组
推荐阅读
- react-native - Connectycube 反应原生视频录制
- c++ - C++ 编码解码
- android - 如何将 vlclib 嵌入到 exoplayer?
- sql - SQL 多对多连接和仅查询旧数据记录
- python - 分解列的标签以创建新列?
- cypress - 打开 cypress 时出现 applitool 错误
- azure - 如何在 Azure 发布管道上创建自定义参数
- python - 频繁的 Python2.7 核心转储
- java - 使用 () 时 IntelliJ IDEA 控制台输入失败
- node.js - 在 Yocto 中的节点上安装 sqlite3 显示错误 node-pre-gyp ERR!堆栈错误:无法执行'/usr/local/bin/node