私は、ランダムな段落で単語が何回使用されたのかを数えられるプログラムを作っていました。それはコンパイルされますが、私がそれを実行しようとすると、私にNullPointerException
を与えます。このNullPointerExceptionを処理するには?
は、ここでは、コードです:
import java.util.StringTokenizer;
class Count
{
int count;
String name;
void SetCount(int c, String n)
{
count = c;
name = n;
}
void Show()
{
System.out.print("Name=" + name);
System.out.print("Count=" + count);
}
}
class Contains2 extends Count
{
public static void main(String args[])
{
String s = "Once you have made it to the box office and gotten your tickets, you are confronted with the problems of the theater itself. If you are in one of the run-down older theaters, you must adjust to the musty smell of seldom-cleaned carpets. Escaped springs lurk in the faded plush or cracked leather seats, and half the seats you sit in seem loose or tilted so that you sit at a strange angle. The newer twin and quad theaters offer their own problems. Sitting in an area only one-quarter the size of a regular theater, moviegoers often have to put up with the sound of the movie next door. This is especially jarring when the other movie involves racing cars or a karate war and you are trying to enjoy a quiet love story. And whether the theater is old or new, it will have floors that seem to be coated with rubber cement. By the end of a movie, shoes almost have to be pried off the floor because they have become sealed to a deadly compound of spilled soda, hardening bubble gum, and crushed Ju-Jubes";
int size, i, count = 0, j;
size = s.length();
String[] test = new String[size];
Count[] c = new Count[size];
StringTokenizer st = new StringTokenizer(s, " ");
while (st.hasMoreTokens())
{
for (i=0; i < size; i++)
{
test[i] = st.nextToken();
c[i].SetCount(1, test[i]);
}
}
for (i=0; i<size; i++)
{
for (j=0; j<size; j++)
{
if (c[i].name.equals(test[j]))
c[i].count+=1;
}
}
for (i=0; i<size; i++)
{
c[i].Show();
}
}
}
ない重複で初期化されていません。これは制御フローの問題です。 – Will
Btw Mohit、問題は 'c [i] .SetCount(1、test [i])'です。 'c'配列には' Count'インスタンスではなく 'null'要素が含まれています。それを修正してください。また、ここであなたの質問と一致するので、提案された複製を受け入れてください。 – Tom
は、そう私はそれらのインスタンスを初期化するために忘れてしまった...私の悪い:Oそれは今実行しているようですが、私はの奇妙な出力取得しています : - outCount = 143がまだ同じ例外 –