我一直想弄清楚我的错误在哪里。我是java的新手,正在做一个入门课程。基本上我必须创建一个countletterinanarray程序,在那里我调用我之前创建的类。我试图添加该库无济于事,无法弄清楚如何让它工作。我收到的整个程序中唯一的错误是无法为randomcharacter.RandomCharacter添加import。这是我的代码如下: package countlettersinarray;
/**
*
* @author james
*/
public class CountLettersInArray {
public static void main(String[] args) {
//Declare and create an array
char[] chars = createArray();
//Display the array
System.out.println("The lowercase letters are:");
displayArray(chars);
//Count the occurences of each letter
int[] counts = countLetters(chars);
//Displahy counts
System.out.println();
System.out.println("The occurences of each letter are:");
displayCounts(counts);
}
/**Create an array of characters**/
public static char[] createArray() {
//Declare an array of characters and create it
char[] chars = new char[100];
//Create lower case letters randomly and assign
//them to the array
for (int i = 0; i < chars.length; i++)
chars[i] = RandomCharacter.getRandomLowerCaseLetter();
//Return the array
return chars;
}
public static void displayArray(char[] chars) {
//Display characters in the array 20 on each line
for (int i = 0; i < chars.length; i++) {
if ((i + 1) % 20 == 0)
System.out.println(chars[i]);
else
System.out.print(chars[i] + " ");
}
}
/** Count the occurences of each letter*/
public static int[] countLetters(char[] chars) {
//Declare and create an array of 26 int
int[] counts = new int[26];
//For each lower case letter in the array, count it
for (int i = 0; i < chars.length; i++)
counts[chars[i] - 'a']++;
return counts;package countlettersinarray;
/**
*
* @author james
*/
public class CountLettersInArray {
public static void main(String[] args) {
//Declare and create an array
char[] chars = createArray();
//Display the array
System.out.println("The lowercase letters are:");
displayArray(chars);
//Count the occurences of each letter
int[] counts = countLetters(chars);
//Displahy counts
System.out.println();
System.out.println("The occurences of each letter are:");
displayCounts(counts);
}
/**Create an array of characters**/
public static char[] createArray() {
//Declare an array of characters and create it
char[] chars = new char[100];
//Create lower case letters randomly and assign
//them to the array
for (int i = 0; i < chars.length; i++)
chars[i] = RandomCharacter.getRandomLowerCaseLetter();
//Return the array
return chars;
}
public static void displayArray(char[] chars) {
//Display characters in the array 20 on each line
for (int i = 0; i < chars.length; i++) {
if ((i + 1) % 20 == 0)
System.out.println(chars[i]);
else
System.out.print(chars[i] + " ");
}
}
/** Count the occurences of each letter*/
public static int[] countLetters(char[] chars) {
//Declare and create an array of 26 int
int[] counts = new int[26];
//For each lower case letter in the array, count it
for (int i = 0; i < chars.length; i++)
counts[chars[i] - 'a']++;
return counts;
}
/**Display counts*/
public static void displayCounts(int[] counts) {
for (int i = 0; i < counts.length; i++) {
if ((i + 1) % 10 == 0)
System.out.print((counts[i] + " " + (char)(i + 'a')));
else
System.out.print(counts[i] + " " + (char)(i + 'a') + " ");
}
}
}
}
/**Display counts*/
public static void displayCounts(int[] counts) {
for (int i = 0; i < counts.length; i++) {
if ((i + 1) % 10 == 0)
System.out.print((counts[i] + " " + (char)(i + 'a')));
else
System.out.print(counts[i] + " " + (char)(i + 'a') + " ");
}
}
}
这里是RandomCharacter.getRandomLowerCaseLetter();我打算上课:
package randomcharacter;
/**
*
* @author james
*/
public class RandomCharacter {
/**Generate a random character between ch1 and ch2**/
public static char getRandomCharacter(char ch1, char ch2) {
return (char)(ch1 + Math.random() * (ch2 - ch1 + 1));
}
//Generate a lower case letter
public static char getRandomLowerCaseLetter() {
return getRandomCharacter('a', 'z');
}
//Generate an upper case letter
public static char getRandomUpperCaseLetter() {
return getRandomCharacter('A', 'B');
}
//Generate a random number
public static char getRandomDigitCharacter() {
return getRandomCharacter('0', '9');
}
//Generate a random character
public static char getRandomCharacter() {
return getRandomCharacter('\u0000', '\uFFFF');
}
}
答案 0 :(得分:0)
您应该输入
package randomcharacter;
在您的通话类中,即 - CountLettersInArray
然后只有RandomCharacter.getRandomLowerCaseLetter()
可以访问。
我检查了你的程序 -
你的两个班将分别是 -
1&GT; RandomCharacter.java
package randomcharacter;
/**
*
* @author james
*/
public class RandomCharacter {
/**Generate a random character between ch1 and ch2**/
public static char getRandomCharacter(char ch1, char ch2) {
return (char)(ch1 + Math.random() * (ch2 - ch1 + 1));
}
//Generate a lower case letter
public static char getRandomLowerCaseLetter() {
return getRandomCharacter('a', 'z');
}
//Generate an upper case letter
public static char getRandomUpperCaseLetter() {
return getRandomCharacter('A', 'B');
}
//Generate a random number
public static char getRandomDigitCharacter() {
return getRandomCharacter('0', '9');
}
//Generate a random character
public static char getRandomCharacter() {
return getRandomCharacter('\u0000', '\uFFFF');
}
}
和
2 - ; CountLettersInArray.java
package randomcharacter;
/**
*
* @author james
*/
public class CountLettersInArray {
public static void main(String[] args) {
//Declare and create an array
char[] chars = createArray();
//Display the array
System.out.println("The lowercase letters are:");
displayArray(chars);
//Count the occurences of each letter
int[] counts = countLetters(chars);
//Displahy counts
System.out.println();
System.out.println("The occurences of each letter are:");
displayCounts(counts);
}
/**Create an array of characters**/
public static char[] createArray() {
//Declare an array of characters and create it
char[] chars = new char[100];
//Create lower case letters randomly and assign
//them to the array
for (int i = 0; i < chars.length; i++)
chars[i] = RandomCharacter.getRandomLowerCaseLetter();
//Return the array
return chars;
}
public static void displayArray(char[] chars) {
//Display characters in the array 20 on each line
for (int i = 0; i < chars.length; i++) {
if ((i + 1) % 20 == 0)
System.out.println(chars[i]);
else
System.out.print(chars[i] + " ");
}
}
/** Count the occurences of each letter*/
public static int[] countLetters(char[] chars) {
//Declare and create an array of 26 int
int[] counts = new int[26];
//For each lower case letter in the array, count it
for (int i = 0; i < chars.length; i++)
counts[chars[i] - 'a']++;
return counts;
}
/**Display counts*/
public static void displayCounts(int[] counts) {
for (int i = 0; i < counts.length; i++) {
if ((i + 1) % 10 == 0)
System.out.print((counts[i] + " " + (char)(i + 'a')));
else
System.out.print(counts[i] + " " + (char)(i + 'a') + " ");
}
}
}
将显示输出,如 -
The lowercase letters are:
z n s q a m a h w f f o c e f q i m e g
i g w k p q x f g z l h r c d g a a y l
q z n b y k i w n b b s z a k e z o e x
g b p b l t d o c n l q m h p m c t y q
b y y r k x c t i m f o q i g o k w c w
The occurences of each letter are:
5 a 6 b 6 c 2 d 4 e 5 f 6 g 3 h 5 i 0 j5 k 4 l 5 m 4 n 5 o 3 p 7 q 2 r 2 s 3 t0 u 0 v 5 w 3 x 5 y 5 z
希望,这可以解决你的问题。
答案 1 :(得分:0)
您的第一堂课在默认包装中。你的第二堂课是randomcharacter
。您的第二个类应该在./randomcharacter
目录中,其中.
是您的第一个类的目录。
您应该能够在Project
和Files
视图下的NetBeans中直观地看到这一点。
答案 2 :(得分:0)
而不是使用 RandomCharacter.getRandomLowerCaseLetter();
只需使用 Random 类。
char[] chars = new char[100];
for (int i = 0; i < chars.length; i++) {
Random random = new Random();
char randomChar = (char) (random.nextInt(26) + 'a');
chars[i] = randomChar;
}
此代码将解决您的问题并为您提供所需的相同输出。