| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1434 人关注过本帖
标题:帮忙看看2个程序错在哪?
只看楼主 加入收藏
yuanxl33
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:64
注 册:2010-4-11
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:11 
帮忙看看2个程序错在哪?
1.基本的类使用
class Person{
    private String name;
    private Integer age;
    public String getname()   
{          return name;            }
    public void setname(String nn)
{          name=nn;        }
    public Integer getage()   
 {            return age;            }
    public void setage(Integer i)   
{            age=i;    }
             }
public class TestPerson
    {   
    public static void main(String args[]){
        Person d=new Person();
        d.setname("Murphysom");
       d.setage(22);
        System.out.println("本人姓名:"+d.getname());
        System.out.println("本人年龄:"+d.getage());
   }
提示红字部分,不能用Int 类型。

2.计程车费用计算:
import java.util.*;
class Taxi{
    float len;   //公里
    float start_price;   //起价
    float start_len;   //起始里程
    float per_price;   //每公里价格
    float price;   //总价
    }
    public set_price(){
        int curr_hour=Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
        if(curr_hour=7&&curr_hour<=23)        {
            start_price=10;
            per_price=1.2f;     }
            else{
                start_price=11;
                per_perice=1.4f;
            }    }
        public void calc(float len){
        this.len=len;
        set_price();
        if(len<=start_len)price=start_price;
        else
        price=start_price+per_price*(len-start_len);
        price=Math.round(price);
        }
        public void show(){
        System.out.println("起价:"+start_price);
        System.out.println("起始公里:"+start_len);
        System.out.println("每公里价格"+per_price);
        System.out.println("里程"+len);
        System.out.println("==============================");
        System.out.println("总价:"+price);      }
    public class calctaxi{
                public static void main(String args[]){
                Taxi ta1=new Taxi();
                int len=0;
                try
                {
                    len=Integer.parseInt(args[0]);
                    }
                    catch(NumberFormatException ee){
                        System.out.println("请输入合法公里数!");
                        return;
                        }
                        ta1.calc(len);
                        ta1.show();
                }
            }
我实在看不出来了



[ 本帖最后由 yuanxl33 于 2010-4-11 16:41 编辑 ]
搜索更多相关主题的帖子: name void private public return 
2010-04-11 16:39
阿木Jasonlee
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2010-4-10
收藏
得分:5 
我也是新手。不过你的那个第一个程序 少了一个 }
2010-04-11 21:54
mis123
Rank: 2
等 级:论坛游民
帖 子:22
专家分:16
注 册:2010-4-8
收藏
得分:5 
我是初学者,进来看看
class Person{
    private String name;
    private Integer age;
    public String getname()   
{          return name;            }
    public void setname(String nn)
{          name=nn;        }
    public Integer getage()   
{            return age;            }
    public void setage(Integer i)   
{            age=i;    }
             }
public class TestPerson
    {   
    public static void main(String args[]){
        Person d=new Person();
        d.setname("Murphysom");
       d.setage(22);
        System.out.println("本人姓名:"+d.getname());
        System.out.println("本人年龄:"+d.getage());
   }
}
这个我不知道你那个错误“提示红字部分,不能用Int 类型”怎么回事,我在最后加了个过括号,程序能运行出来了。
第二个,我有些代码卡看不懂,没学过,但是“if(curr_hour=7&&curr_hour<=23)”这句话很费解,既要等于7又要小于23???,所以会提示运算符不能用于int,boolean,应该是 if(curr_hour》=7&&curr_hour<=23)”吧。“per_perice=1.4f;”多了个“e”,打错了吧,
其他的
class Taxi{
    float len;   //公里
    float start_price;   //起价
    float start_len;   //起始里程
    float per_price;   //每公里价格
    float price;   //总价
    }我把最后的括号去掉了,在  System.out.println("总价:"+price);      }}后又加了一个,
不知道这样子该对不对,我编译能通过,但是运行出错了。

2010-04-11 22:04
mis123
Rank: 2
等 级:论坛游民
帖 子:22
专家分:16
注 册:2010-4-8
收藏
得分:0 
补充,第二个改好后可以运行的,呵呵。运行的时候同学说不能输java calctaxi,要有个什么参数,所以随便输了数字java calctaxi 11,运行成功,(又学了一招)
2010-04-11 22:50
hsh_1987
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:92
专家分:343
注 册:2010-3-30
收藏
得分:10 
第一题主函数少了一个}:
1.基本的类使用
class Person{
    private String name;
    private Integer age;
    public String getname()   
{          return name;            }
    public void setname(String nn)
{          name=nn;        }
    public Integer getage()   
{            return age;            }
    public void setage(Integer i)   
{            age=i;    }
             }
public class TestPerson
    {   
    public static void main(String args[]){
        Person d=new Person();
        d.setname("Murphysom");
       d.setage(22);
        System.out.println("本人姓名:"+d.getname());
        System.out.println("本人年龄:"+d.getage());
   }
}
第二题:
1、public set_price()这个方法错了。没有返回类型和void是构造函数的写法,因此,这个普通方法应该加void:
    public void set_price(){}
2、if(curr_hour=7&&curr_hour<=23) 这个也错了。这个是if条件句,它所判断的是布尔型值:true和flase。不能出现赋
    值语句,因此,要改为:if(curr_hour==7&&curr_hour<=23)
3、 public set_price(){
        int curr_hour=Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
        if(curr_hour=7&&curr_hour<=23)        {
            start_price=10;
            per_price=1.2f;     }
            else{
                start_price=11;
                per_perice=1.4f;
            }    }
    这里面per_perice=1.4f变量名写错了,要改为:per_price=1.4f
4、len=Integer.parseInt(args[0]);这个也有问题:
第一个方法:    args是主函数自定义的一个数组:
                在cmd命令里运行时,要输入数组的值,要不然args[0]为空,
第二个方法:把代码改写成如下代码:
        public class calctaxi{
            public static void main(String args[]){
                Scanner input=new Scanner(System.in);//要加入的地方
            Taxi ta1=new Taxi();
            int len=0;
            try
            {
                System.out.println("请输入公里数!");
                len=Integer.parseInt(input.next());//要改写的地方
                }
                catch(NumberFormatException ee){
                    System.out.println("请输入合法公里数!");
                    return;
                    }
                    ta1.calc(len);
                    ta1.show();
            }
        
        }


努力很重要,决心比努力更重要...........
2010-04-11 23:32
yuanxl33
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:64
注 册:2010-4-11
收藏
得分:0 
import java.util.*;
class Taxi
{
    float len;   //公里
    float start_price;   //起价
    float start_len;   //起始里程
    float per_price;   //每公里价格
    float price;   //总价
   
    public void set_price() {
        int curr_hour=Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
        if(curr_hour>=7&&curr_hour<=23)    {
        start_price=10;
        per_price=1.2f;              }
            else{    start_price=11;
                per_price=1.4f;
                }      }
        public void calc(float len)            {
        this.len=len;
        set_price();
        if(len<=start_len)price=start_price;
        else
        price=start_price+per_price*(len-start_len);
        price=Math.round(price);
        }
        public void show(){
        System.out.println("起价:"+start_price);
        System.out.println("起始公里:"+start_len);
        System.out.println("每公里价格"+per_price);
        System.out.println("里程"+len);
        System.out.println("==============================");
        System.out.println("总价:"+price);      }
}

    public class calctaxi{
                public static void main(String args[]){
                Taxi ta1=new Taxi();
                int len=0;
                try
                {
                    len=Integer.parseInt(args[0]);
                    }
                    catch(NumberFormatException ee){
                        System.out.println("请输入合法公里数!");
                        return;
                        }
                        ta1.calc(len);
                        ta1.show();
                }
            }
第二题我找到了,结合楼上各位的提示
float price;   //总价
后面的括号应该放在public class calctaxi{
之前。另外 运行calctaxi的时候 得顺手输入 里程数
比如 java calctaxi 3
感谢大家的帮忙
   
第一题的括号是我漏了,源代码里有的
但是在JDK1.42上就是提示错误。跑来同学这边装了1.50的就可以。晕倒


[ 本帖最后由 yuanxl33 于 2010-4-12 00:52 编辑 ]
2010-04-12 00:36
yuanxl33
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:64
注 册:2010-4-11
收藏
得分:0 
但是算法还是有问题
前3公里应该按起步价格算
所以还不算成功
2010-04-12 01:01
yuanxl33
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:64
注 册:2010-4-11
收藏
得分:0 
搞定了,结贴
2010-04-12 03:14
爱OO你
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:30
专家分:181
注 册:2010-4-13
收藏
得分:0 
。。。。

我就是我
2010-05-07 01:15
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
收藏
得分:0 
呵呵呵,建议楼主以后写程序规范点!!!这样会给你减少很多麻烦!!!
2010-05-07 13:36
快速回复:帮忙看看2个程序错在哪?
数据加载中...
 
   



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

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