一道Java编程题,通过继承java.util.Random类设计一个类RandomEx,并实现以下功能
1.添加方法:charnextChar(charx),根据x生成并返回一个随机的char类型值:x为数字生成随机数字,x为字母,按照其大、小写分别生成随机大、小写英文字母...
1.添加方法:char nextChar(char x),根据x生成并返回一个随机的char类型值:x为数字生成随机数字,x为字母,按照其大、小写分别生成随机大、小写英文字母,x为其它值时返回固定字符‘?’。
2.改写原方法 String toString()的功能为返回字符串“RandomEx”。
3.设计一个测试类,创建RandomEx对象,通过不同的参数(数字、小写字母、大写字母)调用nextChar()方法,分别输出20个数字、20个小写字母和20个大写字母,并 测试toString()方法。 展开
2.改写原方法 String toString()的功能为返回字符串“RandomEx”。
3.设计一个测试类,创建RandomEx对象,通过不同的参数(数字、小写字母、大写字母)调用nextChar()方法,分别输出20个数字、20个小写字母和20个大写字母,并 测试toString()方法。 展开
1个回答
展开全部
import java.util.Random;
public class RandomEx extends Random{
public char nextChar(char x){
Random r = new Random();
if((int)x >= 48&&(int)x<=57)
return (char) (r.nextInt(9)+48);
else if(x>=65&&x<=90)
return (char)(r.nextInt(25)+65);
else if(x>=97&&x<=122)
return (char)(r.nextInt(25)+97);
else
return '?';
}
public String toString(){
return "RandomEx";
}
}
import java.util.Random;
public class TestR {
public static void main(String[] args) {
Random r = new Random();
RandomEx ra = new RandomEx();
for(int j = 0;j < 2;++j)
for(int i = 48;i <= 57;++i)
System.out.print(ra.nextChar((char)i)+" ");
System.out.println();
int i = 0;
char x = 'a';
while(i != 20){
System.out.print(ra.nextChar(x++) + " ");
i++;
}
System.out.println();
int j = 0;
char y = 'A';
while(j != 20){
System.out.print(ra.nextChar(y++) + " ");
j++;
}
System.out.println();
System.out.println(ra.toString());
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询