1. 图书批发商店的某本书的零售价是26.5元/本,如果客户一次性购买不足100本,则没有优惠;如果客户一次性购买100本以上(包括100本),则每本的价格打9折;如果客户一次性购买500本以上(包括500本),则每本的价格打8折并返回1000元给客户。
说明:
(1)从键盘输入购买书的数量;
(2)分别计算输出购买8本、150本、600本的应付金额。

解决方案 »

  1.   

    import java.util.Scanner;public class test5 { public static void main(String[] args) {
    // TODO Auto-generated method stub
    final double cost=26.5,sum;
    int num;
    Scanner input=new Scanner(System.in);
    num=input.nextInt();
        if(num<100) {
    sum=cost*num;
    }else if(num<500) {
    sum=cost*num*0.9;
    }else {
    sum=cost*num*0.8-1000;
    }
        System.out.println("共买了"+num+"本总价为:"+sum); }}
      

  2.   

    import java.util.Scanner;public class test5 { public static void main(String[] args) {
    // TODO Auto-generated method stub
    final double cost=26.5,sum;
    int num;
    Scanner input=new Scanner(System.in);
    num=input.nextInt();
        if(num<100) {
    sum=cost*num;
    }else if(num<500) {
    sum=cost*num*0.9;
    }else {
    sum=cost*num*0.8-1000;
    }
        System.out.println("共买了"+num+"本总价为:"+sum); }}
    在类中找不到main方法,请将main定义为:public static void main(String[] args)  
    大佬,这个什么意思?
      

  3.   


    要运行java程序必须要有主类main,而且maim必须 用关键字 public static void 定义,并含有参数 String[] args;
    编译程序找不到main可能是你定义不完整,要么是main类写错了。
      

  4.   


    要运行java程序必须要有主类main,而且maim必须 用关键字 public static void 定义,并含有参数 String[] args;
    编译程序找不到main可能是你定义不完整,要么是main类写错了。
    我按照你的那个代码弄的,还是显示错误,就是我上面说的那个错误
      

  5.   

    Scanner scan = new Scanner(System.in);
    System.out.println("你要买多少本?");
    double price = 26.5;
    double num;
    num = scan.nextInt();
    double sum = 0;
    if(num < 100){
    sum = price * num;
    System.out.println("共消费" + sum + "元钱");
    }else if(num < 500){
    sum = (price * 0.9) * num;
    System.out.println("共消费" + sum + "元钱");
    }else{
    sum = ((price * 0.8) * num) - 1000;
    System.out.println("共消费" + sum + "元钱");
    }
      

  6.   

    或者你随便建一个类,把main全部复制进取,还有可能你的类名不是取得test5
      

  7.   

    public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    System.out.println("你要买多少本?");
    double price = 26.5;
    double num;
    num = scan.nextInt();
    double sum = 0;
    if(num < 100){
    sum = price * num;
    System.out.println("共消费" + sum + "元钱");
    }else if(num < 500){
    sum = (price * 0.9) * num;
    System.out.println("共消费" + sum + "元钱");
    }else{
    sum = ((price * 0.8) * num) - 1000;
    System.out.println("共消费" + sum + "元钱");
    }
    }我打上去就是错的
      

  8.   

    大佬,这代码打上去全部都是错呀
    不可能错啊,测试有效后才粘上来的把错误贴上来看看
    public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    System.out.println("你要买多少本?");
    double price = 26.5;
    double num;
    num = scan.nextInt();
    double sum = 0;
    if(num < 100){
    sum = price * num;
    System.out.println("共消费" + sum + "元钱");
    }else if(num < 500){
    sum = (price * 0.9) * num;
    System.out.println("共消费" + sum + "元钱");
    }else{
    sum = ((price * 0.8) * num) - 1000;
    System.out.println("共消费" + sum + "元钱");
    }
    }
    是这样的吗?
      

  9.   


    这是main 外面还需要有类名
    下面是java文件的格式
    class 类名{   //这里类名也是文件名
           public static void main(String[] arg0){
                //这里都是主程序语句
        
          }
    }
      

  10.   

    public static void main(String[] args) {
    //书的价格
    double book=26.5;
    //书九折优惠价格
    double jiu=book*0.9;
    //书八折优惠价格
    double ba=book*0.8;
    //动态输入
    Scanner input=new Scanner(System.in);
    //控制循环流程
    String why=null;
    //总价格
    int zong=0;
    //do-while循环
    do {
    System.out.println("书的价格是"+book);
    //动态输入购买书的数量
    System.out.println("请输入要购买的数量:");
    int shuliang=input.nextInt();
    //判断数量是否大于0  大于0 则继续向下判断计算价格
        if (shuliang>0) {
         //多重if
    if (shuliang>=500) {
    //累加  计算总价格
    zong+=ba*shuliang;
    zong-=1000;
    //输入的是本次购买的金额
    System.out.println("优惠一千元,本次购买应付:"+((ba*shuliang)-1000));
    }else if(shuliang>=100){
    //累加
    zong+=jiu*shuliang;
    //计算本次购买的金额
    System.out.println("本次购买应付:"+(jiu*shuliang));
    }else {
    //累加
    zong+=book*shuliang;
    //计算本次购买的金额
    System.out.println("本次购买应付:"+(book*shuliang));
    }

    }else {
    //红色提示信息
    System.err.println("购买数量不能为0或者负数");
    }
        //控制循环的动态输入
        System.out.println("是否继续购买(y/n)");
        why=input.next();
        //判断why值是否为y  是的话 继续循环
    } while (why.equals("y"));
    //输出总金额
    System.out.println("总金额:"+zong);
    //动态输入付款金额
    System.out.println("请输入付款金额:");
    int fu=input.nextInt();
    //判断付款金额是否大于等于总金额  是的话 找钱   否则便继续付款
    if (fu>=zong) {
    System.out.println("付款成功");
    System.out.println("找钱:"+(fu-zong));
    }else {
    do {
    System.err.println("付款金额不足,请重新输入付款金额:");
    fu=input.nextInt();
    //判断付款金额小于总金额的话  继续循环   大于等于总金额  退出循环  执行循环下面的找钱语句
    } while (fu<zong);
    System.out.println("找钱:"+(fu-zong));
    }


    }
      

  11.   

    把自己写晕了
    import java.util.*;
        
    interface Condition {
        public boolean meet(int bookCount);
    }class ConditionLess100 implements Condition {
        public boolean meet(int bookCount) {
            return bookCount < 100;
        }
    }class ConditionBetween100And500 implements Condition {
         public boolean meet(int bookCount) {
            return (100 <= bookCount) && (bookCount < 500);
        }
    }class ConditionGreaterThan500 implements Condition {
         public boolean meet(int bookCount) {
            return 500 <= bookCount;
        }
    }interface Discount {
         public double discount(double originPrice);
    }class Discount90 implements Discount {
         public double discount(double originPrice) {
            return originPrice * 0.9;
        }
    }class DiscountReturn1000 implements Discount {
         public double discount(double originPrice) {
            if (originPrice > 1000) {
                return originPrice - 1000;
            }
            return 0.0;
        }
    }class DiscountChain implements Discount {
        private ArrayList<Discount> discounts = new ArrayList<>();
        
        DiscountChain addDiscount(Discount discount) {
            discounts.add(discount);
            return this;
        }     public double discount(double price) {
            for (Discount d: discounts) {
                price = d.discount(price);
            }        return price;
        }
    }class DiscountSystem {
        HashMap<Condition, Discount> discountTable = new HashMap<>();
        void add(Condition condition, Discount discount) {
            discountTable.put(condition, discount);
        }    double getPrice(double unitPrice, int count) {
            double price = unitPrice * count;
            
            for (Map.Entry<Condition, Discount> entry: discountTable.entrySet()) {
                if (entry.getKey().meet(count)) {
                    price = entry.getValue().discount(price);
                    break;
                }
            }        return price;
        }
    }public class A {
        public static void main(String[] args) {        DiscountSystem discountSystem = new DiscountSystem();
            discountSystem.add(new ConditionBetween100And500(), new Discount90());
            discountSystem.add(new ConditionGreaterThan500(), new DiscountChain().addDiscount(new Discount90()).addDiscount(new DiscountReturn1000()));        for (double x: new double[] {
                    discountSystem.getPrice(26.5, 8),
                    discountSystem.getPrice(26.5, 150),
                    discountSystem.getPrice(26.5, 600)
                }) {
                System.out.println(x);
            }
        }
    }
      

  12.   

    import java.util.Scanner;public class test5 { public static void main(String[] args) {
    // TODO Auto-generated method stub
    final double cost=26.5,sum;
    int num;
    Scanner input=new Scanner(System.in);
    num=input.nextInt();
        if(num<100) {
    sum=cost*num;
    }else if(num<500) {
    sum=cost*num*0.9;
    }else {
    sum=cost*num*0.8-1000;
    }
        System.out.println("共买了"+num+"本总价为:"+sum); }}
    在类中找不到main方法,请将main定义为:public static void main(String[] args)  
    大佬,这个什么意思?
    算法不对  不全面啊
      

  13.   

    import java.util.Scanner;public class test5 { public static void main(String[] args) {
    // TODO Auto-generated method stub
    final double cost=26.5,sum;
    int num;
    Scanner input=new Scanner(System.in);
    num=input.nextInt();
        if(num<100) {
    sum=cost*num;
    }else if(num<500) {
    sum=cost*num*0.9;
    }else {
    sum=cost*num*0.8-1000;
    }
        System.out.println("共买了"+num+"本总价为:"+sum); }}买 -100 本,多少钱?
      

  14.   

    main方法
      

  15.   

    想起了我刚学java的时候
      

  16.   

    你的程序没问题,你点ctrl+s保存一下,然后双击点中main之后再run就可以了,保证你运行的是你的这个程序
      

  17.   

    大佬,这代码打上去全部都是错呀你新建一个工程再建一个包 然后写上
    pubic static void main(String []args){
        把上边的代码复习过来
    }
    应该就对了
      

  18.   

    package youxi;import java.util.Scanner;
    //1. 图书批发商店的某本书的零售价是26.5元/本,如果客户一次性购买不足100本
    //,则没有优惠;如果客户一次性购买100本以上(包括100本),则每本的价格打9折
    //;如果客户一次性购买500本以上(包括500本),则每本的价格打8折并返回1000元
    //给客户。
    //说明:
    //(1)从键盘输入购买书的数量;
    //(2)分别计算输出购买8本、150本、600本的应付金额。
    public class no1 { public static void main(String[] args) {
    // TODO Auto-generated method stub System.out.println("请输入要买多少本");
    Scanner s=new Scanner(System.in);
    int num=s.nextInt();
    double sum=0;
    if(num<100&&num>0) {
    sum=26.5*num;
    }else if(num>=100&&num<500) {
    sum=26.5*num*0.9;
    }else if(num>500) {
    sum=26.5*num*0.8-1000;
    }else {
    System.out.println("输入有误");
    return;
    }
    System.out.println("买"+num+"需要"+sum+"元");

    }}
      

  19.   

    public class Price {
    public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    while(true) {
    System.out.println("请输入购买本数量");
    final double count=26.5;
    double sum;
    int num;
    num =s.nextInt();
    if(num<100) {
    sum=count*num;
    System.out.println("价格为"+sum);
    }else if(num<500) {
    sum=count*num*0.9;
    System.out.println("价格为"+sum);
    }else {
    sum=(count*num*0.8)-1000;
    System.out.println("价格为"+sum);
    }
    }
    }
    }
      

  20.   

    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int num;
            System.out.println("请输入购买的数量:");
            num = scanner.nextInt();
            if (num < 100) {
                double a = num * 26.5;
                System.out.println(a);
            } else if (num >= 100 && num < 500) {
                double b = num * 26.5 * 0.9;
                System.out.println(b);
            } else {
                double c = (num * 26.5 * 0.8) - 1000;
                System.out.println(c);
            }
        }
      

  21.   

    优化了一下代码
    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int num;
            System.out.println("请输入购买的数量:");
            num = scanner.nextInt();
            if (num > 0) {
                if (num < 100) {
                    double a = num * 26.5;
                    System.out.println(a);
                } else if (num >= 100 && num < 500) {
                    double b = num * 26.5 * 0.9;
                    System.out.println(b);
                } else {
                    double c = (num * 26.5 * 0.8) - 1000;
                    System.out.println(c);
                }
            } else {
                System.out.println("购买失败");
                return;
            }    }