黑马程序员技术交流社区
标题:
各位大侠求救啊,这个题怎么做
[打印本页]
作者:
肥洋洋
时间:
2014-6-2 16:40
标题:
各位大侠求救啊,这个题怎么做
本帖最后由 肥洋洋 于 2014-6-2 17:17 编辑
补足compare函数(找出Circle cir[]数组中最大的半径)内的代码,不许添加其他函数。
class Circle
{
private static double pi=3.14;
private double radius;
public Circle(double r)
{
this.radius=r;
}
public static double compare(Circle[] cir)
{
//请在此处补足代码
}
}
class TC
{
public static void main(String[] args)
{
Circle cir[]=new Circle[3];
cir[0]=new Circle(1.0);
cir[1]=new Circle(2.0);
cir[2]=new Circle(4.0);
System.out.println("最大的半径值是:"+Circle.compare(cir));
}
}
复制代码
作者:
李小然
时间:
2014-6-2 16:54
class Circle
{
private static double pi=3.14;
private double radius;
public Circle(double r)
{
this.radius=r;
}
public static double compare(Circle[] cir)
{
double maxCir = cir[0].radius;
for(int index = 0; index < cir.length -1; index++)
{
maxCir = maxCir > cir[index+1].radius ? maxCir : cir[index+1].radius ;
}
return maxCir;
}
}
class TC
{
public static void main(String[] args)
{
Circle cir[]=new Circle[3];
cir[0]=new Circle(1.0);
cir[1]=new Circle(2.0);
cir[2]=new Circle(4.0);
System.out.println("最大的半径值是:"+Circle.compare(cir));
}
}
哪里不明白可以回帖问我。
作者:
肥洋洋
时间:
2014-6-2 17:16
李小然 发表于 2014-6-2 16:54
class Circle
{
private static double pi=3.14;
谢谢,看懂了,我直接max跟cir[index]比,原来比的是对象,难怪不行,学习到了~~:handshake
作者:
pk49800
时间:
2014-6-2 17:32
public class MaxRadius {
public static void main(String[] args){
Circle[] cir = new Circle[3];
cir[0] = new Circle(1.0);
cir[1] = new Circle(2.0);
cir[2] = new Circle(4.0);
System.out.println("最大的半径值是:"+ Circle.compare(cir));
}
}
class Circle{
private static double pi = 3.14;
private double radius;
public Circle(double r){
this.radius = r;
}
public static double compare(Circle[] cir){
double maxRadius = cir[0].radius;
for(int i = 0;i<cir.length-1;i++){
maxRadius = maxRadius*pi>cir[i+1].radius*pi?maxRadius:cir[i+1].radius;
}
return maxRadius;
}
}
复制代码
作者:
kongyan4696
时间:
2014-6-2 18:24
import java.util.*;
class Circle
{
private static double pi=3.14;
private double radius;
public Circle(double r)
{
this.radius=r;
}
public static double compare(Circle[] cir)
{
TreeSet<Double> ts = new TreeSet<Double>();
for(Circle c:cir)
{
ts.add(c.radius);
}
return ts.last();
}
}
class Priva
{
public static void main(String[] args)
{
Circle cir[]=new Circle[3];
cir[0]=new Circle(1.0);
cir[1]=new Circle(2.0);
cir[2]=new Circle(4.0);
System.out.println("最大的半径值是:"+Circle.compare(cir));
}
}
复制代码
E:\Coder\cc>java Priva
最大的半径值是:4.0
作者:
淡淡柠檬茶
时间:
2014-6-2 18:40
class Circle
{
private static double pi=3.14;
private double radius;
public Circle(double r)
{
this.radius=r;
}
public static double compare(Circle[] cir)
{
//请在此处补足代码
int max = 0;
for (int x = 1;x<cir.length ;x++ )
{
if (cir[x].radius > cir[max].radius)
{
max = x;
}
}
return cir[max].radius;
}
}
class TC
{
public static void main(String[] args)
{
Circle cir[]=new Circle[3];
cir[0]=new Circle(1.0);
cir[1]=new Circle(2.0);
cir[2]=new Circle(4.0);
System.out.println("最大的半径值是:"+Circle.compare(cir));
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2