2013-03-10 76 views
0

我一直在试图弄清楚我犯了什么错误。我是java新手,正在做一个入门课程。基本上我必须创建一个countletterinanarray程序,在那里我调用我以前创建的类。我试图添加库无济于事,无法弄清楚如何让它工作。我收到的整个程序中唯一的错误是无法为randomcharacter.RandomCharacter添加导入。这里是我的代码如下: package countlettersinarray;通过netbeans导入类

/** 
* 
* @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

你只需要将其他类放在'src/randomCharacter'中同一个项目中。 – 2013-03-10 15:47:46

回答

0

你应该在你调用的类,这是进入

package randomcharacter; 

- CountLettersInArray

那么只有RandomCharacter.getRandomLowerCaseLetter()将入店。

我检查你的程序 -

你两班将分别为 -

1> 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 

希望,这个解决您的问题。

+0

我刚刚注意到randomcharacter程序中没有主要的方法,这可能是我的问题吗? – user2154095 2013-03-10 17:13:17

+0

我编辑了我的答案。请查看这个。 – 2013-03-10 17:33:52

+0

无论出于何种原因,我仍然无法使此程序正常工作。我的书让我创建随机字符文件,保存它,然后创建CountLettersInArray文件。当我尝试运行CountLettersInArray文件时,唯一的错误是RandomCharacter下的红线。我应该将这两个文件合并为一个工作吗? – user2154095 2013-03-10 18:12:30

0

你的第一堂课是在默认包。你的第二堂课在包randomcharacter。你的第二堂课应该在目录./randomcharacter,其中.是你第一堂课的目录。

您应该可以在NetBeans中在ProjectFiles视图下直观地看到此视图。

+0

我试过回去,重新编译随机字符程序,选择项目选项卡中的CountLetterInArray项目,选择库,右键单击,添加项目,选择RandomCharacter项目。它仍然没有导入课程。 – user2154095 2013-03-10 17:08:26