java问题,各位大虾帮帮忙
下面这个类的功能是:在小程序上实现用随机颜色显示出指定的字符串的每一个字符(即每个字符都用随机数产生的颜色显示)但不知道为什么,编译没错,但用appletviewer命令...
下面这个类的功能是:在小程序上实现用随机颜色显示出指定的字符串的每一个字符(即每个字符都用随机数产生的颜色显示)
但不知道为什么,编译没错,但用appletviewer命令调用小程序查看器查看时,没有显示任何字符,在提示符下提示NullPointerException,但我找不出哪里有错,各位大虾帮帮忙,指点一下
import java.awt.Color;
import java.awt.Graphics;
import java.applet.Applet;
import java.util.Random;
public class E6_2and6_3 extends Applet
{
Random random;
int x,y;
Graphics g;
String str;
public void paint(Graphics g)
{
this.g=g;
str="给定一个字符串,用随机颜色显示字符串中的每一个字符";
E6_2();//调用随机颜色显示字符串
E6_3();//调用随机灰色显示字符串
}
/*给定一个字符串,用随机颜色显示字符串中的每一个字符*/
public void E6_2()
{
x=5;y=20;
for(int i=0;i<str.length();i++)
{
this.g.setColor(new Color(random.nextInt(255),random.nextInt(255),random.nextInt(255)));
this.g.drawString(""+str.charAt(i),x,y);
x+=15;
if((i+1)%5==0)
{ x=5;y+=20; }
}
}/////////////////////第一个方法结束
/*给定一个字符串,用不同的灰度颜色显示字符串中的第一个字符*/
public void E6_3()
{
x=85;y=20;
for(int i=0;i<str.length();i++)
{
int rgb=random.nextInt(255);
this.g.setColor(new Color(rgb,rgb,rgb));
this.g.drawString(""+str.charAt(i),x,y);
x+=15;
if((i+1)%5==0)
{ x=5;y+=20; }
}
}///////////////第二个方法结束
} 展开
但不知道为什么,编译没错,但用appletviewer命令调用小程序查看器查看时,没有显示任何字符,在提示符下提示NullPointerException,但我找不出哪里有错,各位大虾帮帮忙,指点一下
import java.awt.Color;
import java.awt.Graphics;
import java.applet.Applet;
import java.util.Random;
public class E6_2and6_3 extends Applet
{
Random random;
int x,y;
Graphics g;
String str;
public void paint(Graphics g)
{
this.g=g;
str="给定一个字符串,用随机颜色显示字符串中的每一个字符";
E6_2();//调用随机颜色显示字符串
E6_3();//调用随机灰色显示字符串
}
/*给定一个字符串,用随机颜色显示字符串中的每一个字符*/
public void E6_2()
{
x=5;y=20;
for(int i=0;i<str.length();i++)
{
this.g.setColor(new Color(random.nextInt(255),random.nextInt(255),random.nextInt(255)));
this.g.drawString(""+str.charAt(i),x,y);
x+=15;
if((i+1)%5==0)
{ x=5;y+=20; }
}
}/////////////////////第一个方法结束
/*给定一个字符串,用不同的灰度颜色显示字符串中的第一个字符*/
public void E6_3()
{
x=85;y=20;
for(int i=0;i<str.length();i++)
{
int rgb=random.nextInt(255);
this.g.setColor(new Color(rgb,rgb,rgb));
this.g.drawString(""+str.charAt(i),x,y);
x+=15;
if((i+1)%5==0)
{ x=5;y+=20; }
}
}///////////////第二个方法结束
} 展开
1个回答
展开全部
当然会报错误,Random random,String str,Graphics g都必须要申请内存空间进行创建对象,我做了些调整,应该能运行出来
import java.awt.Color;
import java.awt.Graphics;
import java.applet.Applet;
import java.util.Random;
public class Text1 extends Applet
{
Random random;
int x,y;
String str;
public void paint(Graphics g)
{
super.paint(g);
Random random=new Random();
str=new String("给定一个字符串,用随机颜色显示字符串中的每一个字符");
x=5;y=20;
for(int i=0;i<str.length();i++)
{
g.setColor(new Color(random.nextInt(255),random.nextInt(255),random.nextInt(255)));
g.drawString(""+str.charAt(i),x,y);
x+=15;
if((i+1)%5==0)
{ x=5;y+=20; }
}
/////////////////
x=85;y=20;
for(int i=0;i<str.length();i++)
{
int rgb=random.nextInt(255);
g.setColor(new Color(rgb,rgb,rgb));
g.drawString(""+str.charAt(i),x,y);
x+=15;
if((i+1)%5==0)
{ x=5;y+=20; }
}
////////
/*给定一个字符串,用不同的灰度颜色显示字符串中的第一个字符*/
x=85;y=20;
for(int i=0;i<str.length();i++)
{
int rgb=random.nextInt(255);
g.setColor(new Color(rgb,rgb,rgb));
g.drawString(""+str.charAt(i),x,y);
x+=15;
if((i+1)%5==0)
{ x=5;y+=20; }
}
}///////////////第二个方法结束
}
import java.awt.Color;
import java.awt.Graphics;
import java.applet.Applet;
import java.util.Random;
public class Text1 extends Applet
{
Random random;
int x,y;
String str;
public void paint(Graphics g)
{
super.paint(g);
Random random=new Random();
str=new String("给定一个字符串,用随机颜色显示字符串中的每一个字符");
x=5;y=20;
for(int i=0;i<str.length();i++)
{
g.setColor(new Color(random.nextInt(255),random.nextInt(255),random.nextInt(255)));
g.drawString(""+str.charAt(i),x,y);
x+=15;
if((i+1)%5==0)
{ x=5;y+=20; }
}
/////////////////
x=85;y=20;
for(int i=0;i<str.length();i++)
{
int rgb=random.nextInt(255);
g.setColor(new Color(rgb,rgb,rgb));
g.drawString(""+str.charAt(i),x,y);
x+=15;
if((i+1)%5==0)
{ x=5;y+=20; }
}
////////
/*给定一个字符串,用不同的灰度颜色显示字符串中的第一个字符*/
x=85;y=20;
for(int i=0;i<str.length();i++)
{
int rgb=random.nextInt(255);
g.setColor(new Color(rgb,rgb,rgb));
g.drawString(""+str.charAt(i),x,y);
x+=15;
if((i+1)%5==0)
{ x=5;y+=20; }
}
}///////////////第二个方法结束
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询