51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2570|回复: 4
打印 上一主题 下一主题

[原创] Java编程

[复制链接]
  • TA的每日心情
    奋斗
    2018-8-3 18:49
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2018-8-2 18:03:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1、要求:
             * 运输公司计算运费,总运费=距离s*基本运费p*重量w*优惠金额d;
             * s<250没有优惠;250<=s<500,优惠2%;500<=s<1000,优惠5%;1000<=s<2000,优惠8%;2000<=s<3000,优惠10%;
             * 3000<=s,优惠15%;

    实现一:
    package com.task02;
            /*
             * 运输公司计算运费,总运费=距离s*基本运费p*重量w*优惠金额d
             * s<250没有优惠;250<=s<500,优惠2%;500<=s<1000,优惠5%;1000<=s<2000,优惠8%;2000<=s<3000,优惠10%
             * 3000<=s,优惠15%
             */
    public class ComputePriceIF {

             public static void main(String[] args) {
                    // TODO Auto-generated method stub
                    //使用命令行参数进行对数组赋值
                    int c,s;
                    double p,w,f,d;
                    s=Integer.parseInt(args[0]);
                    p=Double.parseDouble(args[1]);
                    w=Double.parseDouble(args[2]);
                    if(s<250){
                            c=0;
                    }else if(s<500){
                            c=2;
                    }else if(s<1000){
                            c=5;
                    }else if(s<2000){
                            c=8;
                    }else if(s<3000){
                            c=10;
                    }else c=15;
                    d=(double)c/100;        //将int型变量c强制转换成 Double型,然后运算后,赋值给变量d
                    f=s*p*w*(1-d);
                    System.out.println("距离为:"+s);
                    System.out.println("基本运费为:"+p);
                    System.out.println("重量为:"+w);
                    System.out.println("优惠:"+d);
                    System.out.println("运费为:"+f);
                   
            }
    }

    实现二
    package com.task02;

    import javax.swing.JOptionPane;
            /*
             * 运输公司计算运费,总运费=距离s*基本运费p*重量w*优惠金额d
             * s<250没有优惠;250<=s<500,优惠2%;500<=s<1000,优惠5%;1000<=s<2000,优惠8%;2000<=s<3000,优惠10%
             * 3000<=s,优惠15%
             */
    public class ComputePriceIF {
            public static void main(String[] args) {
                    // TODO Auto-generated method stub
                                    //通过java.swing.JOptionPane类实现对话框方式向用户发出输入或输出消息
                                   //showInputDialog()方法:用于提示要求某些输入
                                    //showMessageDialog()方法:告知用户某事已经发生
                                    int c,s = 0;
                                    double p = 0,w = 0,f,d;
                                    s=Integer.parseInt(JOptionPane.showInputDialog("请输入运输的距离",new Integer(s)));
                                    p=Double.parseDouble(JOptionPane.showInputDialog("请输入运输公司的基本单价",new Double(p)));
                                    w=Double.parseDouble(JOptionPane.showInputDialog("请输入运输公司的货物重量",new Double(w)));
                                    if(s<250){
                                            c=0;
                                    }else if(s<500){
                                            c=2;
                                    }else if(s<1000){
                                            c=5;
                                    }else if(s<2000){
                                            c=8;
                                    }else if(s<3000){
                                            c=10;
                                    }else c=15;
                                    d=(double)c/100;        //将int型变量c强制转换成 Double型,然后运算后,赋值给变量d
                                    f=s*p*w*(1-d);
                                    System.out.println("距离为:"+s);
                                    System.out.println("基本运费为:"+p);
                                    System.out.println("重量为:"+w);
                                    System.out.println("优惠:"+d);
                                    System.out.println("运费为:"+f);       
            }
    }
    执行:


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-8-11 08:18
  • 签到天数: 114 天

    连续签到: 1 天

    [LV.6]测试旅长

    2#
    发表于 2018-8-3 08:56:43 | 只看该作者
    一般情况下,浮点型不能用来运算,尤其牵涉到价格,会产生误差

    lz 可以试试10 2.2  2.2
    看看返回结果对不对
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-3 18:49
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
     楼主| 发表于 2018-8-3 18:31:16 | 只看该作者
    是这样的

    距离为:10
    基本运费为:2.2
    重量为:2.2
    优惠:0.0
    运费为:48.400000000000006
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-3 18:49
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
     楼主| 发表于 2018-8-5 18:32:44 | 只看该作者
    1、要求
             * 程序中给定一个1-100的被猜整数,从键盘上反复输入整数进行试猜。
             * 未猜中时,提示数量过大或多小;猜中时,指出猜的次数


    实现

    package com.task02;

    import javax.swing.JOptionPane;

    public class GuessGame {

            /*
             * 程序中给定一个1-100的被猜整数,从键盘上反复输入整数进行试猜。
             * 未猜中时,提示数量过大或多小;猜中时,指出猜的次数
             *
             */
            public static void main(String[] args) {
                    // TODO Auto-generated method stub

                    int realnumber=20;
                int guessnumber=0;
                int count=0;
                boolean guessflag=false;
                   
             while(guessflag!=true){
                    guessnumber=Integer.parseInt(JOptionPane.showInputDialog("请输入一个整数进行猜想!",new Integer(guessnumber)));
                   
                    if(guessnumber != realnumber){
                           
                            if(guessnumber > realnumber){
                                    count++;
                                    System.out.println("您输入的数字太大了,请重新猜!");
                                   
                                   
                            }else if(guessnumber < realnumber){
                                    count++;
                                    System.out.println("您输入的数字太小了,请重新猜!");
                                   
                            }
                              
                    }else {
                           
                        count++;
                            System.out.println("恭喜您猜对了,您共猜了:"+count+"次。");
                            guessflag=true;

                    }
            }     
    }
    }




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-3 18:49
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
     楼主| 发表于 2018-8-8 15:22:27 | 只看该作者
    * 程序随意给定一个1-100的被猜整数,从键盘上反复输入整数进行试猜。
    * 未猜中时,提示数量过大或多小;猜中时,指出猜的次数
    * 允许最大竞猜次数为3次

    package com.task02;

    import javax.swing.JOptionPane;

    public class GuessGame {

            /*
             * 程序随意给定一个1-100的被猜整数,从键盘上反复输入整数进行试猜。
             * 未猜中时,提示数量过大或多小;猜中时,指出猜的次数
             * 允许最大竞猜次数为3次
             */
            public static void main(String[] args) {
                    // TODO Auto-generated method stub
                //随机给定1-100的整数,Math.random() 为0-1 Double类型。需要强制转换int类型
                    int realnumber=(int) (Math.random()*100+1);   
                int guessnumber=0;
                int count=0;
                boolean guessflag=false;
                   
             while(guessflag!=true && count<3){
                    guessnumber=Integer.parseInt(JOptionPane.showInputDialog("请输入一个整数进行猜想,允许最大竞猜次数为3次!",new Integer(guessnumber)));
                   
                    if(guessnumber != realnumber){
                           
                            if(guessnumber > realnumber){
                                    count++;
                                    System.out.println("您输入的数字太大了,请重新猜!");
                                   
                                   
                            }else if(guessnumber < realnumber){
                                    count++;
                                    System.out.println("您输入的数字太小了,请重新猜!");
                                   
                            }
                              
                    }else {
                           
                        count++;
                            System.out.println("恭喜您猜对了,您共猜了:"+count+"次。");
                            guessflag=true;

                    }
            }     
             if(guessflag !=true && count==3){
                    System.out.println("您共猜了"+count+"次,已经超过了允许竞猜的最大次数!游戏结束!!!");
                     
             }
    }
    }

    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-18 10:28 , Processed in 0.062638 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表