java - 如何在 Java 中使用拆分字符串和数组获取最年长的人的姓名
问题描述
我一直盯着这个问题太久了。这是来自https://java-programming.mooc.fi/part-3/4-using-strings的练习,我必须得到最年长的人的名字通过拆分字符串并找到年龄最大的名称。
> Sample Input: Johnny, 5
> Rose, 19
> Sam, 10
所需输出:玫瑰
任何帮助将不胜感激。谢谢!
import java.util.Scanner;
public class NameOfTheOldest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = "";
while (true) {
String input = scanner.nextLine();
if (input.equals("")) {
break;
}
String[] pieces = input.split(",");
int age = Integer.valueOf(pieces[1]);
int oldest = 0;
if (age > oldest) {
name = pieces[0];
oldest = age;
}
}
System.out.println("Name of the oldest: " + name);
}
}
解决方案
您将变量声明放置oldest
在循环内部,因此每次读取新的输入行时,oldest
都会将其设置回 0,如果您将其移到 while 循环之外,您的代码应该可以正常工作。
推荐阅读
- java - 如果我希望能够在文件“Cart.txt”中显示“总销售额”,我该怎么做?
- prometheus - 过滤启用的收集器
- python - python 如果评估 True 为 False 值
- sql - 计算给定日期处于特定状态的项目数
- java - 如果靠近数组中的某个值,则减少数组中数字的值
- javascript - Selenium JavaScript 单击下拉菜单
- python - 如何在字典键上交替小写和大写?蟒蛇 3
- r - 我需要从一个函数中迭代一个 R 平方
- java - 如何在java中使用google drive api分块下载文件?
- post - 如何在继续使用 HttpWebRequest 发布数据的同时检查 HTTP 响应