北少室驻java大使 2022-06-05 03:12 采纳率: 66.7%
浏览 42
已结题

JAVA新手上路,编译不通过。还请各位铁子略看一下

问题相关代码,请勿粘贴截图

class Appliance{
String name;
double price;
int num;
}
public class{
public static void main(String[] args){
login();
//实例化参数
Appliance a1 =new Appliance();
a1.name ="电风扇";
a1.price =124.23;
a1.num=1;
Appliance a2 =new Appliance();
a2.name ="洗衣机";
a2.price =4500.0;
a2.num=2;
Appliance a3 =new Appliance();
a3.name ="电视机";
a3.price =8800.9;
a3.num=3;
Appliance a4 =new Appliance();
a4.name ="冰箱";
a4.price =124.23;
a4.num=4;
Appliance a5 =new Appliance();
a5.name ="空调机";
a5.price =4456.0;
a5.num=5;
System.out.println("欢迎进入批发商城");
System.out.println("\t编号\t商品\t价格");
System.out.println("\t"+"1"+"\t"+ a1.name +"\t"+ a1.price);
System.out.println("\t"+"2"+"\t"+ a2.name +"\t"+ a2.price);
System.out.println("\t"+"3"+"\t"+ a3.name +"\t"+ a3.price);
System.out.println("\t"+"4"+"\t"+ a4.name +"\t"+ a4.price);
System.out.println("\t"+"5"+"\t"+ a5.name +"\t"+ a5.price);

    //getNum(0);
    //getCount(0);
    pay(0.0,0.0);
    //pay(0);
}
//登录密码方法
public static void login(){
//初始化用同户名密码
    String id;
    String password;
    boolean isRight =true;
    Scanner input=new Scanner(System.in);
    //输入提示
    System.out.print("请输入用户名");
        id =input.next();
        System.out.print("请输入密码");
        password =input.next();
    do{
        
        if (id.equals("TOM")&&password.equals("123")){
            System.out.println("登陆成功!");
            break;
        }
            System.out.println("账户名或密码输入错误!,请重新输入");
            id =input.next();
            password =input.next();
    }
    while (isRight);}
//获取商品编号方法
public static int getNum(int x){
    System.out.print("请输入您要批发的商品编号:");
    Scanner input=new Scanner(System.in);
    x=input.nextInt();
    return x;
}
//批发数量方法
public static double getCount(double y){
    System.out.print("请输入批发数量:");
    Scanner input=new Scanner(System.in);
    y=input.nextInt();
    return y;
}
//选择价格方法
public static double price(int x,double j){
    switch (x){
    case 1:
        j=124.23;
        break;
    case 2:
        j=4500.0;
        break;
    case 3:
        j=8800.9;
        break;
    case 4:
        j=5000.88;
        break;
    case 5:
        j=4456.0;
        break;
    default:
    }
    System.out.println("选择的商品价格是"+j);
    return j;
    
}
//需要支付方法
public static double pay(double j,double y){
    getNum(x);
    getCount(y);
    price(y,j);
    double p = j*y;
    System.out.println("您需要付款:"+p);
    return p;
}

}
问题相关报错

est07.java:103: 错误: 找不到符号
getNum(x);
^
符号: 变量 x
位置: 类 Test07
Test07.java:105: 错误: 不兼容的类型: 从double转换到int可能会有损失
price(y,j);
^
注: 某些消息已经过简化; 请使用 -Xdiags:verbose 重新编译以获得完整输出
2 个错误

我的解答思路和尝试过的方法

将登陆、获取编号、批发数量、对应价格、和支付都做成方法。再在主类中进行调用

达到输入用户名 密码登陆批发程序。登陆成功后显示购买菜单(编号1-5)。输入商品编号及批发数量算出需要付款金额。
  • 写回答

1条回答 默认 最新

  • 不要冗余 2022-06-05 06:17
    关注

    1第一个报错确实是调用pay()方法的时候没有定义x入参所以报错了
    2第二个报错是类型转换错误,看程序是想输入数量x为int类型吧,为什么传参又穿了个double

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月13日
  • 创建了问题 6月5日

悬赏问题

  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻
  • ¥15 快手uid转快手号谁能解决 需要开发
  • ¥15 iis部署Django时css不生效,来个真人,ai不好使