gpt4 book ai didi

java - 如何检查字符串数组上的字符值?

转载 作者:行者123 更新时间:2023-11-30 06:12:19 25 4
gpt4 key购买 nike

我被要求编写一个 Java 程序,它从用户那里获取 5 个字符串并将其收集在一个数组中。此外,我需要检查数组中的每个字符串,并只打印超过四个字符的字符串。

public static void main(String[] args) {
Scanner mbk = new Scanner(System.in);
int repetition[] = { 1, 2, 3, 4, 5 };
String words[] = new String[repetition.length];
for (int i = 0; i < words.length; i++) {
System.out.println("Please enter element " + repetition[i] + ":");
words[i] = mbk.nextLine();
}
}

这是我写的代码,但我被卡住了。有人可以帮忙吗?

最佳答案

首先,使用像 mbk 这样的变量名称是一种非常糟糕的做法,变量名称应该很容易被阅读您代码的任何其他开发人员理解。它的名称应该反射(reflect)它的目的。这是您的代码的一个小修改。

此外,保持 I/O 流打开可能会给您带来很大的麻烦,因此我还添加了 scanner.close 语句。

public static void main(String[] args) throws Exception {
Scanner userInput = new Scanner(System.in);
int maxArrayLength[] = { 1, 2, 3, 4, 5 };
String words[] = new String[maxArrayLength.length];
for (int i = 0; i < words.length; i++) {
System.out.println("Please enter element " + maxArrayLength[i] + ":");
words[i] = userInput.nextLine();
}

for(int lengthCheckCounter = 0; lengthCheckCounter < words.length; lengthCheckCounter++)
if(words[lengthCheckCounter].length() > 4)
System.out.println(words[lengthCheckCounter] + "-" + words[lengthCheckCounter].length());
userInput.close();
}

关闭 I/O 流/资源的另一种方法可能是使用自 JDK 1.7 以来提供的 try-with-resources block 。然后我们可以编写如下代码:

try(Scanner userInput = new Scanner(System.in)) {
// All other code
}

如果您使用的是 JDK 1.8,您可以使用一行来完成 Lonely Neuron 评论中建议的所有操作:

// Initialize your words array here
// Take user input
// Print words greater than 4 using JDK 1.8 Filter below
Arrays.stream(words).filter(s -> s.length() > 4).forEach(System.out::println)

关于java - 如何检查字符串数组上的字符值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49962700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com