Java字符数组
我必须选择以下目标之一: //一,。将正确答案的数量平行排列。发送方法 //答案和答案。返回包含//正确数字的填充并行数组 正确=正确答案(答案、答案键) //二,。制作一个包含学生字母等级的平行数组。发送正确的Java字符数组,java,arrays,char,Java,Arrays,Char,我必须选择以下目标之一: //一,。将正确答案的数量平行排列。发送方法 //答案和答案。返回包含//正确数字的填充并行数组 正确=正确答案(答案、答案键) //二,。制作一个包含学生字母等级的平行数组。发送正确的 //并返回并行数组 等级=getGrade(正确) //三,。数一数每个年级有多少人 numOfEach=计数(等级) 我决定选择最后一个“//3”。数一数每个年级有多少人 numOfEach=计数(等级);” 我有点困了,到目前为止我想出了这个: public static void
//并返回并行数组 等级=getGrade(正确) //三,。数一数每个年级有多少人 numOfEach=计数(等级) 我决定选择最后一个“//3”。数一数每个年级有多少人 numOfEach=计数(等级);” 我有点困了,到目前为止我想出了这个:
public static void count(char[] grade){
int numofa = 0, numofb = 0, numofc = 0, numofd = 0, numoff = 0;
for (int i = 0; i < grade.length; i++){
if (grade[i] == 'A'){
numofa++;
}else if (grade[i] == 'B'){
numofb++;
}else if (grade[i] == 'C'){
numofc++;
}else if (grade[i] == 'D'){
numofd++;
}else if (grade[i] == 'F'){
numoff++;
}
}
}
公共静态无效计数(字符[]级){
int numofa=0,numofb=0,numofc=0,numofd=0,numoff=0;
对于(int i=0;i
但是,我不知道如何用我分析的数据(每个字母等级的数量)填充numOfEach char数组,而不是
public static void count(char[] grade) {
int numofa = 0, numofb = 0, numofc = 0, numofd = 0, numoff = 0;
for (int i = 0; i < grade.length; i++){
if (grade[i] == 'A'){
numofa++;
}else if (grade[i] == 'B'){
numofb++;
}else if (grade[i] == 'C'){
numofc++;
}else if (grade[i] == 'D'){
numofd++;
}else if (grade[i] == 'F'){
numoff++;
}
}
}
正如您在下面的示例中所看到的,字符1
的原始数值是而不是一,因此我不建议使用char数组返回函数
/**
<P>{@code java RawNumericValueOfChar}</P>
**/
public class RawNumericValueOfChar {
public static final void main(String[] ignored) {
int intValueOfCharOne = '1';
int intValueOfCharALower = 'a';
int intValueOfCharAUpper = 'A';
System.out.println("intValueOfCharOne=" + intValueOfCharOne);
System.out.println("intValueOfCharALower=" + intValueOfCharALower);
System.out.println("intValueOfCharAUpper=" + intValueOfCharAUpper);
int intValueOfCharOneInc = ((int)'1') + 1;
int intValueOfCharALowerInc = ((int)'a') + 1;
int intValueOfCharAUpperInc = ((int)'A') + 1;
System.out.println("intValueOfCharOneInc=" + intValueOfCharOneInc);
System.out.println("intValueOfCharALowerInc=" + intValueOfCharALowerInc);
System.out.println("intValueOfCharAUpperInc=" + intValueOfCharAUpperInc);
}
}
以下是一些可能有用的信息:
public static void count(char[] grade,int []count)//changed
{
int numofa = 0, numofb = 0, numofc = 0, numofd = 0, numoff = 0;
for (int i = 0; i < grade.length; i++){
if (grade[i] == 'A'){
numofa++;
}else if (grade[i] == 'B'){
numofb++;
}else if (grade[i] == 'C'){
numofc++;
}else if (grade[i] == 'D'){
numofd++;
}else if (grade[i] == 'F'){
numoff++;
}
}
//changed
count[0]=numofa;
count[1]=numofb;
count[2]=numofc;
count[3]=numofd;
count[4]=numoff;
}
这听起来不错,但是,数组必须是一个字符数组(如指定的)我不知道如何在字符数组中存储内容。这似乎是一个非常有效的解决方案,但是,我可以传递的唯一参数是“grade”,它必须是“numOIfEach=count(grade)”为此,可以将count声明为本地数组并返回它
public static char[] count(char[] grade) {
char[] numOfEachAsChars = new char[5]; //5: a, b, c, d, f
int idxA = 0;
int idxB = 1;
int idxC = 2;
int idxD = 3;
int idxF = 4;
for (int i = 0; i < grade.length; i++){
if (grade[i] == 'A'){
numOfEachAsChars[idxA]++;
}else if (grade[i] == 'B'){
numOfEachAsChars[idxB]++;
}else if (grade[i] == 'C'){
numOfEachAsChars[idxC]++;
}else if (grade[i] == 'D'){
numOfEachAsChars[idxD]++;
}else if (grade[i] == 'F'){
numOfEachAsChars[idxF]++;
}
}
return numOfEachAsChars;
}
/**
<P>{@code java RawNumericValueOfChar}</P>
**/
public class RawNumericValueOfChar {
public static final void main(String[] ignored) {
int intValueOfCharOne = '1';
int intValueOfCharALower = 'a';
int intValueOfCharAUpper = 'A';
System.out.println("intValueOfCharOne=" + intValueOfCharOne);
System.out.println("intValueOfCharALower=" + intValueOfCharALower);
System.out.println("intValueOfCharAUpper=" + intValueOfCharAUpper);
int intValueOfCharOneInc = ((int)'1') + 1;
int intValueOfCharALowerInc = ((int)'a') + 1;
int intValueOfCharAUpperInc = ((int)'A') + 1;
System.out.println("intValueOfCharOneInc=" + intValueOfCharOneInc);
System.out.println("intValueOfCharALowerInc=" + intValueOfCharALowerInc);
System.out.println("intValueOfCharAUpperInc=" + intValueOfCharAUpperInc);
}
}
[C:\java_code\]java RawNumericValueOfChar
intValueOfCharOne=49
intValueOfCharALower=97
intValueOfCharAUpper=65
intValueOfCharOneInc=50
intValueOfCharALowerInc=98
intValueOfCharAUpperInc=66
public static void count(char[] grade,int []count)//changed
{
int numofa = 0, numofb = 0, numofc = 0, numofd = 0, numoff = 0;
for (int i = 0; i < grade.length; i++){
if (grade[i] == 'A'){
numofa++;
}else if (grade[i] == 'B'){
numofb++;
}else if (grade[i] == 'C'){
numofc++;
}else if (grade[i] == 'D'){
numofd++;
}else if (grade[i] == 'F'){
numoff++;
}
}
//changed
count[0]=numofa;
count[1]=numofb;
count[2]=numofc;
count[3]=numofd;
count[4]=numoff;
}
count(grade,numOfEach);