问题1:类RanInt,一个成员变量为:一个整形数组a,构造方法RanInt(int n,int m)
用于创建一个RanInt的对象并使a储存n个不大于等于正整数m的随机整数。
方法int[] selects(int s):从a中选出是s的整数倍的数形成数组,并将该数组作为方法的的返回值。
方法:public String toString(int[] c):返回数组c的字符串表示,表示方式为:每个整数表示成相应的
文本形式再在之后加个空格。
编一个测试类,在主方法中创建一个RanInt类的实例对象,使对象中的数组存储20个不大于100的随机整数,然后
使用to-String方法将两个数组的字符串表达形式输出到Myf2.out文件中。
问题2:设计类PointSet。一成员变量:StringBuffer sb。构造方法:PointSet:
功能是确定直角平面坐标中符合以下条件的点:(1):在第一象限且坐标值都为正整数。(2):点到坐标原点的距离在
[100,100.2]范围内,每个点以(x,y)的形式存入sb中。
方法toString()功能是:返回根据sb转换成的字符串
设计测试类Myf2,在main方法中创建一个PointSet对象,输出符合上述条件的点。
第一个程序我是这么写的
class RanInt{
int a[];
int[] b=new int[a.length];//不确定的地方
RanInt(int n,int m){
a=new int[n];
for(int i=0;i<n;i++){
a[i]=(int)Math.random()*m;//Math.random返回大于0.0到小于1.0的双精度数
}
}
int[] select(int s){
for(int i=0;i<a.length;i++){
if(a[i]%s==0&&a[i]!=0)
b[i]=a[i];
}
return b;
}
public String toString(int []c){
String d="";
for(int i=0;i<b.length;i++)
d+=b[i]+" ";
return new String(d);
}
}
public class TestJava2 {
public static void main(String[] args) {
RanInt r=new RanInt(20,100);
System.out.println(r.select(3));//想不出来的方法
}
}
第二个程序是这么写的:
//输出为null
class PointSet{
StringBuffer sb;
double x,y=0;
PointSet(){
if(x>0&&y>0&&x<100&&y<100.2)
sb=sb.append(("["+x+","+y+"]"));
}
public String toString(){
String a=String.valueOf(sb);
return a;
}
}
public class TestJava3 {
public static void main(String[] args) {
PointSet p=new PointSet();
System.out.println(p);
}
}
有错误或者不懂之处,请指教。