[英]How do I make arrays interact with each other?
我在完成學業任務時遇到了麻煩:
編寫一個程序來創建兩個數組,即asciiArray和decimalArray,每個數組包含52個元素。 在asciiArray中,存儲英文字母的字母; 小寫和大寫字母。 在decimalArray中,將每個字母的相應十進制值存儲在asciiArray中的特定位置。 例如,如果asciiArray [0]保持'A',則decimalArray [0]將保持值65.將這些數組傳遞給方法displayDecValue。 在方法內,提示用戶輸入英文字母的任何字母並顯示相應的十進制值。
我有一些編碼,但我不知道如何使數組相互交互並返回值。 對不起,如果這很簡單; 我以前從未做過Java。 我們也不能使用任何高級編寫代碼(它是初學者的Java)。
import java.util.Scanner;
public class ParallelArrays {
public static void main (String [] args) {
char[] asciiArray = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
'W', 'X', 'Y', 'Z' };
int[] decimalArray = {97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,
114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,
75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90};
displayDecValue(asciiArray, decimalArray);
}
public static void displayDecValue(char [ ] ascii, int [ ] dec) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a letter (a-z or A-Z): ");
ascii = input.next().charAt(0);
dec[0] = (int)ascii[0];
System.out.printf("Decimal value of %c is: " + dec[0], ascii);
}
}
以下是你應該想知道的事情
1)您正在將用戶的輸入存儲到數組變量ascii中。 這會發生什么?
2)您使用ascii [0]在索引位置0重新分配預定義的dec數組。 這是什么意思?
3)如何在ascii數組(提示:循環)中搜索char並將其與dec數組匹配?
4)print語句是否遵循C或Java語法?
然后,您將能夠輕松修復代碼。
您無需手動輸入十進制數組值。 你可以做類似下面的事情。 如果我們將char轉換或類型轉換為int,我們將得到該字符的十進制值。
例如int output= (int)'a';
//這里的輸出是97,相當於字符'a'的十進制值。
int[] decimalArray = new int[asciiArray.length];
for (int i = 0; i < asciiArray.length; i++) {
decimalArray[i] = (int)asciiArray[i];
}
完整的例子如下。
import java.util.Scanner;
public class ParallelArrays {
public static void main(String[] args) {
char[] asciiArray = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
'U', 'V', 'W', 'X', 'Y', 'Z' };
int[] decimalArray = new int[asciiArray.length];
for (int i = 0; i < asciiArray.length; i++) {
decimalArray[i] = (int)asciiArray[i];
}
displayDecValue(asciiArray, decimalArray);
}
public static void displayDecValue(char[] ascii, int[] dec) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a letter (a-z or A-Z): ");
char inputChar = input.next().charAt(0);
for (int i = 0; i < ascii.length; i++) {
if (inputChar == ascii[i]) {
System.out.printf("Decimal value of '" + ascii[i] + "' is: "
+ dec[0]);
break;
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.