Java计算文本文件中的大写字母
我正在使用java创建一个文本分析器,我正在尝试搜索文本文档,并计算有多少个大写字母Java计算文本文件中的大写字母,java,java.util.scanner,Java,Java.util.scanner,我正在使用java创建一个文本分析器,我正在尝试搜索文本文档,并计算有多少个大写字母 public static void main(String[] args) { Scanner sc = new Scanner(CapitalCount.class.getResourceAsStream("test.txt")); String s = sc.nextLine(); int upperCaseCount = 0; int linecount = 0;
public static void main(String[] args) {
Scanner sc = new Scanner(CapitalCount.class.getResourceAsStream("test.txt"));
String s = sc.nextLine();
int upperCaseCount = 0;
int linecount = 0;
while (sc.hasNextLine()) {
sc.nextLine();
linecount++;
}
for (int i = 0; i < s.length(); i++) {
for (char c = 'A'; c <= 'Z'; c++) {
if (s.charAt(i) == c) {
upperCaseCount++;
}
}
}
System.out.println(upperCaseCount + "");
}
}
publicstaticvoidmain(字符串[]args){
Scanner sc=新的扫描仪(CapitalCount.class.getResourceAsStream(“test.txt”);
字符串s=sc.nextLine();
int upperCaseCount=0;
int linecount=0;
while(sc.hasNextLine()){
sc.nextLine();
linecount++;
}
对于(int i=0;i扫描每个字符
检查字符是否在大写字母范围内。
扫描文件不需要CapitalCount类
以下是我的工作方案:
public static void main(String[] args) {
Scanner sc = null;
try {
sc = new Scanner(new File("test.txt"));
int count = 0;
while(sc.hasNext()){
String line = sc.nextLine();
for(int i = 0 ; i < line.length(); i++){
if(line.charAt(i) >= 'A' && line.charAt(i) <= 'Z'){
count ++;
}
}
}
System.out.println("The number of capital letters are : "+count);
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}
finally{
sc.close();
}
}
publicstaticvoidmain(字符串[]args){
扫描仪sc=空;
试一试{
sc=新扫描仪(新文件(“test.txt”);
整数计数=0;
while(sc.hasNext()){
字符串行=sc.nextLine();
对于(int i=0;i 如果(line.charAt(i)>='A'&&line.charAt(i),则内部循环不必检查字母i是否为大写字母。
改变
for(char c='A';c='A'和s.charAt(i)您没有尝试调用“.next(Pattern Pattern)”方法,其中Pattern用于大写字母?
因此,在循环之前,您应该使用Character.isUpperCase()
方法,而不是手动操作
public static void main(String[] args) {
try {
Scanner sc = new Scanner(new File("test.txt"));
int capitalCount = 0;
int lineCount = 0;
while(sc.hasNext()){
lineCount++;
String line = sc.nextLine();
for(int i = 0 ; i < line.length(); i++){
if(Character.isUpperCase(line.charAt(i))) {
capitalCount++;
}
}
}
System.out.println("Number of lines: "+lineCount);
System.out.println("Number of capital letters: "+capitalCount);
}
catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}
}
publicstaticvoidmain(字符串[]args){
试一试{
Scanner sc=新扫描仪(新文件(“test.txt”);
int capitalCount=0;
int lineCount=0;
while(sc.hasNext()){
lineCount++;
字符串行=sc.nextLine();
对于(int i=0;i
尝试以下代码:
public static void main(String[] args) {
Scanner sc = new Scanner(CapitalCount.class.getResourceAsStream("test.txt"));
int upperCaseCount = 0;
int linecount = 0;
String lineInput = null;
while (sc.hasNextLine()) {
lineInput = sc.nextLine();
linecount = lineInput .length();
for(int i=0; i < linecount; i++)
if (Character.isUpperCase(lineInput.charAt(i))) upperCaseCount++;
}
System.out.println(upperCaseCount + "");
}
publicstaticvoidmain(字符串[]args){
Scanner sc=新的扫描仪(CapitalCount.class.getResourceAsStream(“test.txt”);
int upperCaseCount=0;
int linecount=0;
字符串lineInput=null;
while(sc.hasNextLine()){
lineInput=sc.nextLine();
linecount=lineInput.length();
对于(int i=0;i
请为您的输入文档和您期望的相关输出提供一个示例。您是否可以编辑您的问题并解释问题所在。它是否出错,或者没有产生预期的输出?好的,关闭扫描仪
资源,或者使用try with resources。以前,我只关心sol但现在我做到了@Tom。
public static void main(String[] args) {
try {
Scanner sc = new Scanner(new File("test.txt"));
int capitalCount = 0;
int lineCount = 0;
while(sc.hasNext()){
lineCount++;
String line = sc.nextLine();
for(int i = 0 ; i < line.length(); i++){
if(Character.isUpperCase(line.charAt(i))) {
capitalCount++;
}
}
}
System.out.println("Number of lines: "+lineCount);
System.out.println("Number of capital letters: "+capitalCount);
}
catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(CapitalCount.class.getResourceAsStream("test.txt"));
int upperCaseCount = 0;
int linecount = 0;
String lineInput = null;
while (sc.hasNextLine()) {
lineInput = sc.nextLine();
linecount = lineInput .length();
for(int i=0; i < linecount; i++)
if (Character.isUpperCase(lineInput.charAt(i))) upperCaseCount++;
}
System.out.println(upperCaseCount + "");
}