
本文旨在指导Java初学者如何计算用户输入的一组字符串中,符合特定条件的字符串(例如:仅包含字母的单词,以大写字母开头的单词)所占的百分比。文章将详细讲解实现思路,并提供完整的示例代码,帮助读者理解如何使用正则表达式进行字符串匹配和统计,并最终计算出所需的百分比。
在Java中,计算用户输入字符串中满足特定条件的字符串百分比,通常涉及以下几个步骤:
下面提供一个完整的示例代码,演示如何实现上述步骤:
import java.util.Scanner;
public class StringPercentageCalculator {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int numOfStrings = 0;
boolean valid;
// 获取用户输入的字符串数量
do {
valid = true;
System.out.print("How many strings?: ");
try {
numOfStrings = Integer.parseInt(scan.nextLine());
} catch (NumberFormatException e) {
System.out.println("Not a number");
valid = false;
}
} while (!valid);
// 存储用户输入的字符串
String[] stringArray = new String[numOfStrings];
for (int i = 0; i < numOfStrings; i++) {
System.out.print("Enter string no." + (i + 1) + ": ");
stringArray[i] = scan.nextLine();
}
System.out.println("Results");
System.out.println("Total number of strings: " + numOfStrings);
// 计算只包含字母的单词的百分比
int validStringCount = countStrings(stringArray, "^[a-zA-Z]*$");
double percentage = (double) validStringCount / numOfStrings * 100;
System.out.println(String.format("Percentage of words: %.2f%%", percentage));
// 计算以大写字母开头的单词的百分比
int startWithCapitalCount = countStrings(stringArray, "^[A-Z].*");
percentage = (double) startWithCapitalCount / numOfStrings * 100;
System.out.println(String.format("Words starting with capital letter: %.2f%%", percentage));
scan.close();
}
// 使用正则表达式统计符合条件的字符串数量
private static int countStrings(String[] stringArray, String pattern) {
int count = 0;
for (String str : stringArray) {
if (str.matches(pattern)) {
count++;
}
}
return count;
}
}代码解释:
立即学习“Java免费学习笔记(深入)”;
注意事项:
总结:
通过本教程,你应该掌握了如何使用Java计算用户输入字符串中,符合特定条件的字符串百分比。关键在于理解正则表达式的使用,以及掌握字符串数组的操作。 此外,良好的代码风格和异常处理也是编写健壮程序的关键。 熟练掌握这些技能,可以帮助你更好地处理字符串相关的编程问题。
以上就是Java中计算输入字符串中单词的百分比的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号