javarand47的简单介绍
今天给各位分享javarand47的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 多态里的些错误
- 2、关于Java的java.util.Random怎么使用?
- 3、java中关于printnb的一些疑问和强制转换的问题 如果有资料可以发到我的邮箱825883336@qq.com;
- 4、无法将java.util.random中的next(int)应用于int
java 多态里的些错误
一个Java文件中有且只能有一个public修饰的类
第一个错误:
public static void main(String[] args)所在的那个类为主类,就是用public修饰的类
第二个错误
public void draw(){
System.out.println("Square.draw()");
public void p(){
System.out.println("here is Triangle");
}
}
你在draw()方法中又写了一个p()方法,这是不行的,方法可以调用方法,但不可以嵌套方法。这个应该是书写错误,所以提示你非法的表达式开始
第三个:
case 0 : return new Circle();
case 1 : return new Square();
case 2 : return new Triangle();
你那个Circle类是哪里来的?还有那个Triangle类是哪里的,所以会提示找不到符号
第四个:
System.out.println("here") 这一句没有用分号结束
第五个:
switch(rand.nextInt(3)){
default:
case 0 : return new Circle();
case 1 : return new Square();
case 2 : return new Triangle();
}
default以后什么也没有,在这里就是什么也不做.没有break语句,所以如果产生的值是0的话,那么下面那两个语句也会被执行。
楼主可以参考这些改进一下自己的程序!
下面是修改以后的示例代码,你可以自己完善一下
import java.util.*;
class Shape
{
public void draw(){}
public void p()
{
System.out.println("here");
}
}
class Square extends Shape
{
public void draw()
{
System.out.println("Square.draw()");
}
public void p()
{
System.out.println("here is Triangle");
}
}
class RandomShapeGenerator{
Square obj;
private Random rand = new Random(47);
public Shape next()
{
switch(rand.nextInt(3))
{
default: System.out.println("OK");
//case 0 : return new Circle();break;
case 1 : obj=new Square();break;
//case 2 : return new Triangle();break;
}
return obj;
}
}
public class Shapes
{
private static RandomShapeGenerator gen = new RandomShapeGenerator();
public static void main(String[] args)
{
Shape[] s = new Shape[9];
for(int i = 0;is.length;i++)
s[i] = gen.next();
for(Shape shp : s)
{
shp.draw();
shp.p();
}
}
}
关于Java的java.util.Random怎么使用?
public static int extractNumber(int max){
//系统生成随机数后与上限相乘再加一后转换为整型返回
return (int)(Math.random()*max+1);
}
这段代码我都不知道复制了多少遍了。
参数的值为你需要数字的最大值,0-100的随机数就写100进去。
构造方法
Random() 创建一个新的随机数生成器。
Random(long seed) 使用单个 long 种子创建一个新的随机数生成器。
常用的方法
boolean nextBoolean() 伪随机生成boolean值
nextBytes(byte[] bytes) 生成随机字节并将其置于用户提供的 byte 数组中。
double nextDouble() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。 (Math.random()方法调用的就是这个方法)
float nextFloat() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。
int nextInt() 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
nextInt(int n) 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
nextLong() 返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
setSeed(long seed) 使用单个 long 种子设置此随机数生成器的种子。
上面的是api中的方法及解释。
个人使用此类的经验是,如果要一次性大量生成随机数,比较麻烦使用。
如果用java.util.Random类, int num = new Random().nextInt(3)+2,
如果用我提供的,直接调用方法 int num = extractNumber(3)+1。
java中关于printnb的一些疑问和强制转换的问题 如果有资料可以发到我的邮箱825883336@qq.com;
这是一本书(Thinking in Java 中文名:Java编程思想)上的代码。在java类里加入net.mindview.util.Print.*这个包,会有Printnb属性。int c是0-25之间的整数,它被加到a上(一定是单引号),a将自动转化为int以执行加法。(char)c 是把c当字符打印,是通过char来转型。
无法将java.util.random中的next(int)应用于int
public static Random gen=new Random();
改成
public static RandomShapeGenerator gen=new RandomShapeGenerator();
javarand47的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javarand47的信息别忘了在本站进行查找喔。
发布于:2022-11-25,除非注明,否则均为
原创文章,转载请注明出处。