Java 如何打印阵列?
我的练习差不多完成了,只是我似乎不知道如何显示数组。实践是从用户处获取一组长度为10的字符串,并检查字符串中是否有与长度为10的数组相对应的数字0-9 这就是我目前所拥有的Java 如何打印阵列?,java,arrays,string,frequency,Java,Arrays,String,Frequency,我的练习差不多完成了,只是我似乎不知道如何显示数组。实践是从用户处获取一组长度为10的字符串,并检查字符串中是否有与长度为10的数组相对应的数字0-9 这就是我目前所拥有的 import java.util.*; public class CharacterFrequency { public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); int telNumber[]
import java.util.*;
public class CharacterFrequency {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int telNumber[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
System.out.print("Give me a word of 10 characters. "
+ "\nI will tell you if it contains any numbers, and how many: ");
String word = keyboard.nextLine();
int length = word.length();
if (length < 10 || length > 10) {
System.out.println("Wrong length, you have entered an invalid word.");
System.exit(0);
} else {
for (int index = 0; index < word.length() - 1; index++) {
char ch = word.charAt(index);
if ('0' == ch) {
telNumber[0]++;
} else if ('1' == ch) {
telNumber[1]++;
} else if ('2' == ch){
telNumber[2]++;
} else if ('3' == ch){
telNumber[3]++;
} else if ('4' == ch){
telNumber[4]++;
}else if ('5' == ch){
telNumber[5]++;
}else if ('6' == ch){
telNumber[6]++;
} else if ('7' == ch){
telNumber[7]++;
} else if ('8' == ch){
telNumber[8]++;
}else if ('9' == ch){
telNumber[9]++;
} else {
System.out.println("\nWrong length, you have entered an invalid word.");
System.exit(0);
}
}
System.out.println();
}
}
}
import java.util.*;
公共类字符频率{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
int telNumber[]={0,1,2,3,4,5,6,7,8,9};
System.out.print(“给我一个10个字符的单词。”
+“\n我将告诉您它是否包含任何数字,以及有多少:”;
字符串字=键盘.nextLine();
int length=word.length();
如果(长度<10 | |长度>10){
System.out.println(“错误的长度,您输入了无效的单词。”);
系统出口(0);
}否则{
for(int index=0;index
我不知道如何像这样打印输出:
0的计数为(字符串中0的数目)
1的计数为(字符串中1的数目)
2的计数为(字符串中的2个数)
3的计数为(字符串中的3个数)
4的计数为(字符串中的4个数)
等等。打印
int
数组最简单的方法通常是
您的telNumber
声明应该更像
int telNumber[] = new int[10]; // {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
您的声明为每个元素提供了一个等于其索引的初始计数(我相当确定您希望它们为零)。然后,要获得您所要求的格式(带有for
循环)可能如下所示
for (int i = 0; i < telNumber.length; i++) {
System.out.printf("Count of %d is %d%n", i, telNumber[i]);
}
publicstaticvoidprintintarray(int[]数组){
系统输出打印(“{”);
for(int i=0;i
需要更改的内容很少:
1) telNumber阵列初始化,另一个选项是:
int telNumber[] = new int[10];
2) 根据字符值的ascii值,通过一次赋值避免所有10个if,使用:
telNumber[ch - '0'] ++;
更多参考:
3) 遍历数组并打印它
for (int i = 0; i < telNumber.length; i++) {
System.out.printf("Count of %d is %d%n", i, telNumber[i]);
}
for(int i=0;i
4) 将循环修复为:
for (int index = 0; index < word.length() ; index++)
for(int index=0;index
因为在您的代码中,它不计算输入中的最后一个字符
固定代码:
Scanner keyboard = new Scanner(System.in);
int telNumber[] = { 0,0,0,0,0,0,0,0,0,0};
System.out
.print("Give me a word of 10 characters. "
+ "\nI will tell you if it contains any numbers, and how many: ");
String word = keyboard.nextLine();
int length = word.length();
if (length < 10 || length > 10) {
System.out
.println("Wrong length, you have entered an invalid word.");
System.exit(0);
} else {
for (int index = 0; index < word.length() ; index++) {
char ch = word.charAt(index);
if (ch >= '0' && ch <= '9') {
telNumber[ch - '0'] ++;
}
else {
System.out.println("\nWrong length, you have entered an invalid word.");
System.exit(0);
}
}
System.out.println();
}
for (int i = 0; i < telNumber.length; i++) {
System.out.printf("Count of %d is %d%n", i, telNumber[i]);
}
}
扫描仪键盘=新扫描仪(System.in);
int telNumber[]={0,0,0,0,0,0,0,0,0};
系统输出
.print(“给我一个10个字符的单词。”
+“\n我将告诉您它是否包含任何数字,以及有多少:”;
字符串字=键盘.nextLine();
int length=word.length();
如果(长度<10 | |长度>10){
系统输出
.println(“长度错误,您输入的单词无效。”);
系统出口(0);
}否则{
for(int index=0;index='0'&&ch
for (int i = 0; i < telNumber.length; i++) {
System.out.printf("Count of %d is %d%n", i, telNumber[i]);
}
for (int index = 0; index < word.length() ; index++)
Scanner keyboard = new Scanner(System.in);
int telNumber[] = { 0,0,0,0,0,0,0,0,0,0};
System.out
.print("Give me a word of 10 characters. "
+ "\nI will tell you if it contains any numbers, and how many: ");
String word = keyboard.nextLine();
int length = word.length();
if (length < 10 || length > 10) {
System.out
.println("Wrong length, you have entered an invalid word.");
System.exit(0);
} else {
for (int index = 0; index < word.length() ; index++) {
char ch = word.charAt(index);
if (ch >= '0' && ch <= '9') {
telNumber[ch - '0'] ++;
}
else {
System.out.println("\nWrong length, you have entered an invalid word.");
System.exit(0);
}
}
System.out.println();
}
for (int i = 0; i < telNumber.length; i++) {
System.out.printf("Count of %d is %d%n", i, telNumber[i]);
}
}