| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5356 人关注过本帖
标题:请各位帮我看看我的代码哪里错了
只看楼主 加入收藏
丶随风飘扬
Rank: 2
等 级:论坛游民
帖 子:38
专家分:20
注 册:2019-11-1
收藏
得分:0 
回复 10楼 林月儿
改过来了,但还是有问题,跟我3楼时说的问题一样。。。
2020-03-16 11:08
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
3楼第一行输入1,表示只有一组用例输入啊
还是我理解错了?

剑栈风樯各苦辛,别时冰雪到时春
2020-03-16 11:40
丶随风飘扬
Rank: 2
等 级:论坛游民
帖 子:38
专家分:20
注 册:2019-11-1
收藏
得分:0 
回复 12楼 林月儿
在T=1的前提下,当M=1或2时,第二次输入就只需要输入二个数就要输出结果的(第一个数对应M,第二个数是圆的半径或正方形的边长),但实际上需要输入三个数才能输出结果。所以我不知道哪里出问题了。
2020-03-16 14:18
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
输入内容发出来呢

剑栈风樯各苦辛,别时冰雪到时春
2020-03-16 14:35
丶随风飘扬
Rank: 2
等 级:论坛游民
帖 子:38
专家分:20
注 册:2019-11-1
收藏
得分:0 
回复 14楼 林月儿
图片附件: 游客没有浏览图片的权限,请 登录注册
2020-03-16 14:58
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
最新代码再发一遍

剑栈风樯各苦辛,别时冰雪到时春
2020-03-16 15:32
丶随风飘扬
Rank: 2
等 级:论坛游民
帖 子:38
专家分:20
注 册:2019-11-1
收藏
得分:0 
回复 16楼 林月儿
程序代码:
import java.util.*;

public class JXNU {
    final int π=3;
    class shape{
        public    void count() {    
}
    }
    public class Circle extends shape{
        private  double r;
        public Circle(double r)
        {
            this.r=r;
        }
         @Override
         public void count() {
                System.out.printf("%d",2*π*r);
         }
         }
    public class Square extends shape{
        private double a;
        public Square(double a)
        {
            this.a=a;
        }
         @Override
         public void count() {
                System.out.printf("%d",4*a);
         }
    }
    public class Rectangle extends shape{
        private double a,b;
        public Rectangle(double a,double b)
        {
            this.a=a;
            this.b=b;
        }
         @Override
         public void count() {
                System.out.printf("%d",2*(a+b));
         }
    }
    public class Triangle extends shape{
        private double a,b,c;
        public Triangle(double a,double b,double c)
        {
            this.a=a;
            this.b=b;
            this.c=c;
        }        
         @Override
         public void count() {
                System.out.printf("%d",a+b+c);
         }
    }    

    public void main(String[] args) {
        // TODO Auto-generated method stub
        int T, M;
        double a,b,c,r;
        Scanner sc=new Scanner(System.in);
        T=Integer.valueOf(sc.nextLine());
        while(T-->0){
            String[] arr = sc.nextLine().split(" ");//空格分割并转型
            M=Integer.valueOf(arr[0]);
            if (M==1){
                r=Double.parseDouble(arr[1]);
                Circle c1=new Circle(r);
                c1.count();    
            }
            else if (M==2){
                a=Double.parseDouble(arr[1]);
                Square c1=new Square(a);
                c1.count();
                
            }
            else if (M==3){
                a=Double.parseDouble(arr[1]);
                b=Double.parseDouble(arr[2]);
                Rectangle c1=new Rectangle(a,b);
                c1.count();
            }
            else if (M==4){            
                a=Double.parseDouble(arr[1]);
                b=Double.parseDouble(arr[2]);
                c=Double.parseDouble(arr[3]);
                if(a + b > c && b + c > a && a + c > b)
                {
                    Triangle c1=new Triangle(a,b,c);
                    c1.count();
                }
                else break;
            }
    }
}
}
2020-03-16 15:41
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
String[] arr = sc.nextLine().split(" ");//空格分割并转型
  这句话下面加一行System.out.println(Arrays.toString(arr));


count()方法里,System.out.printf第一个参数占位符后面加换行符
"%d\n"

改不改的对不重要,每次的修改分析能不能加深对代码的理解,能不能学到更多很重要
多分析,多定位!

剑栈风樯各苦辛,别时冰雪到时春
2020-03-16 15:48
丶随风飘扬
Rank: 2
等 级:论坛游民
帖 子:38
专家分:20
注 册:2019-11-1
收藏
得分:0 
回复 18楼 林月儿
还是没用,还是一样的问题,快被这个给整自闭了。。
程序代码:
import java.util.*;

public class JXNU {
    final int π=3;
    class shape{
        public    void count() {    
}
    }
    public class Circle extends shape{
        private  double r;
        public Circle(double r)
        {
            this.r=r;
        }
         @Override
         public void count() {
                System.out.printf("%d\n",2*π*r);
         }
         }
    public class Square extends shape{
        private double a;
        public Square(double a)
        {
            this.a=a;
        }
         @Override
         public void count() {
                System.out.printf("%d\n",4*a);
         }
    }
    public class Rectangle extends shape{
        private double a,b;
        public Rectangle(double a,double b)
        {
            this.a=a;
            this.b=b;
        }
         @Override
         public void count() {
                System.out.printf("%d\n",2*(a+b));
         }
    }
    public class Triangle extends shape{
        private double a,b,c;
        public Triangle(double a,double b,double c)
        {
            this.a=a;
            this.b=b;
            this.c=c;
        }        
         @Override
         public void count() {
                System.out.printf("%d\n",a+b+c);
         }
    }    

    public void main(String[] args) {
        // TODO Auto-generated method stub
        int T, M;
        double a,b,c,r;
        Scanner sc=new Scanner(System.in);
        T=Integer.valueOf(sc.nextLine());
        while(T-->0){
            String[] arr = sc.nextLine().split(" ");//空格分割并转型
            System.out.println(Arrays.toString(arr));
            M=Integer.valueOf(arr[0]);
            if (M==1){
                r=Double.parseDouble(arr[1]);
                Circle c1=new Circle(r);
                c1.count();    
            }
            else if (M==2){
                a=Double.parseDouble(arr[1]);
                Square c1=new Square(a);
                c1.count();
                
            }
            else if (M==3){
                a=Double.parseDouble(arr[1]);
                b=Double.parseDouble(arr[2]);
                Rectangle c1=new Rectangle(a,b);
                c1.count();
            }
            else if (M==4){            
                a=Double.parseDouble(arr[1]);
                b=Double.parseDouble(arr[2]);
                c=Double.parseDouble(arr[3]);
                if(a + b > c && b + c > a && a + c > b)
                {
                    Triangle c1=new Triangle(a,b,c);
                    c1.count();
                }
                else break;
            }
    }
}
}

图片附件: 游客没有浏览图片的权限,请 登录注册

2020-03-16 16:02
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
我都说了,你不要跟机器一样改了跑完不管了
就是做出来有什么用呢?

输入完第二行为啥要空一行再输入个2?输入完第二行回车,这个不行吗?

建议我就不重复了,我说什么你就一句话,还是不行!你这样没法进步

剑栈风樯各苦辛,别时冰雪到时春
2020-03-16 16:21
快速回复:请各位帮我看看我的代码哪里错了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019440 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved