【发布时间】:2019-02-07 04:32:47
【问题描述】:
编写一个程序,该程序使用 Scanner 对象首先读入一个表示字符串数组大小 (n) 的数字。创建一个使用第一个数字作为大小的字符串数组。然后,您将在同一行读取 (n) 个城市并将它们存储在数组中。最后,您将读取一个字符(与城市相同的行)。然后程序将遍历城市数组并在屏幕上打印字符在城市中的次数。确保处理大小写 (A != a)。
import java.util.Arrays;
import java.util.Scanner;
public class Problem1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int length = scanner.nextInt();
String myarray[] = new String[length];
char ch;
for (int i = 0; i < myarray.length; i++) {
myarray[i]=scanner.next();
}
ch= scanner.next().charAt(0);
char ch1= Character.toUpperCase(ch);
char ch2= Character.toLowerCase(ch);
for(int y=0; y<myarray.length; y++){
int counter=0;
for(int z=0; z<myarray.length; z++){
if(myarray[y].charAt(z)==ch1){
counter++;
}else if(myarray[y].charAt(z)==ch2){
counter++;
}
}
System.out.print(counter+" ");
}
}
}
示例输入:
4
多伦多哈利法克斯特鲁罗渥太华 t
示例输出:
2 0 1 2
我的输出:
1 0 1 2
【问题讨论】:
-
您能否更新您的问题以包含有关您的程序到底出了什么问题的信息,例如。预期输出与实际输出?
-
我认为您的
for循环与z不太正确,因为z需要运行字符串的长度,而不是字符串的数量。即z < myarray[y].length()不是z < myarray.length;
标签: java