问题如下:  
 
/*  
 有一间书店,新出一种收,单价是24.5元一本.若一次性购买100本或以上,则打8折.          
若一次性购买200本或以上,则打7.5折.  若一次性购买500本或以上,刚打7折.          
现在要写一个程序,从控制台接受要购买的数量,输出需要的金额.    
*/    
   
相关程序:(在jdk下运行通过)  
 
import  java.io.*;  
public    class    Book{      
         public    static    void    main(String[]  args)      
                     {      
                         int    i;  
                         String  s="";  
                         System.out.println("请输入购买数量:");  
                         try{  
                               BufferedReader  in  =new  BufferedReader(new  InputStreamReader(System.in));  
                               s=in.readLine();                                                              
                         }catch(IOException  e){}  
                         i=Integer.parseInt(s);  
         if(i<100)      
                     {      
             System.out.println(24.5*i);      
                       }      
         if(i>=100&&i<200)      
               {      
             System.out.println(24.5*i*0.8);      
               }      
         if(i>=200&&i<500)      
               {      
                 System.out.println(0.75*24.5*i);      
               }      
         if(i>=500)      
               {      
               System.out.println(0.7*24.5*i);    
                     }  
}  
}  
 
我的问题:  
每次在运行的时候,输入购买数量,程序会根据条件计算出费用!  
怎样加一个转移语句,实现在第一次操作之后,提示是否进行费用计算?(y/n);  
如果输入y  提示请输入购买数量!进行计算!  
如果输入n  提示结束本次操作!  
 
谢谢了,小弟是java初学者!  
最好给我一个完善的程序!  
3Q!

解决方案 »

  1.   

    public class Book
    {
    public static void main(String[] args){
    Book b = new Book();
    b.calculate();
    } public void calculate()
    {
    int    i;  
            String  s="";  
    boolean flag = true;
    while (flag)
    {
    System.out.println("请输入购买数量:");  
    try{  
    BufferedReader  in  =new  BufferedReader(new  InputStreamReader(System.in));  
    s=in.readLine();                                                              
    }catch(IOException  e){}  

    if (!doCalculate())
    {
    return;
    } i=Integer.parseInt(s);  
    if(i<100)      
    {      
    System.out.println(24.5*i);      
    }      
    if(i>=100&&i<200)      
    {      
    System.out.println(24.5*i*0.8);      
    }      
    if(i>=200&&i<500)      
    {      
    System.out.println(0.75*24.5*i);      
    }      
    if(i>=500)      
    {      
    System.out.println(0.7*24.5*i);    

    flag = again();
    }         
    } private boolean doCalculate()
    {
    try
    {
    System.out.println("是否进行费用计算?");
    BufferedReader  in  =new  BufferedReader(new  InputStreamReader(System.in));  
                s=in.readLine();                                                              
    if (s.equals("Y"))
    {
    return true;
    }
    else
    {
    return false;
    }
            }catch(IOException  e){}
    return false;
    } private boolean again()
    {
    try
    {
    System.out.println("是否继续输入?");
    BufferedReader  in  =new  BufferedReader(new  InputStreamReader(System.in));  
                s=in.readLine();                                                              
    if (s.equals("Y"))
    {
    return true;
    }
    else
    {
    return false;
    }
            }catch(IOException  e){}
    return false;
    }
    };
      

  2.   

    import  java.io.*;  
    public    class    Book{      
             public    static    void    main(String[]  args)      
                         {      
                             int    i; 
                             
                             String  s=""; 
                             String  s2=""; 
                 do{
                             
                             System.out.println("请输入购买数量:");  
                             try{  
                                   BufferedReader  in  =new  BufferedReader(new  InputStreamReader(System.in));  
                                   s=in.readLine();                                                              
                             }catch(IOException  e){}  
                             i=Integer.parseInt(s);  
             if(i<100)      
                         {      
                 System.out.println(24.5*i);      
                           }      
             else if(i>=100&&i<200)      
                   {      
                 System.out.println("8折 "+24.5*i*0.8);      
                   }      
             else if(i>=200&&i<500)      
                   {      
                     System.out.println("75折 "+0.75*24.5*i);      
                   }      
             else if(i>=500)      
                   {      
                   System.out.println("7折 "+0.7*24.5*i);    
                         }  
                  System.out.println("继续计算?");
                  try{BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
                  s2=in.readLine();
                  }catch(IOException e){
                  }
                  
                         
                }while(s2.equals("y"));
    }  
    }  
    把你的程序改了一下
      

  3.   

    import java.io.*;
    public class Book { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int i;
    String flag = "Y";
    String  s = "";
    BufferedReader in = null;
    while (flag.toUpperCase().equals("Y")) {
    System.out.println("请输入购买数量:");  
    try{  
    in = new BufferedReader(new InputStreamReader(System.in));  
    s=in.readLine();                 
    } catch (IOException  e){

    }  
    i=Integer.parseInt(s);  
    if(i < 100) {
    System.out.println(24.5*i);

    if(i >= 100 && i < 200) {   
    System.out.println(24.5*i*0.8);   
    }   
    if(i >= 200 && i < 500) {   
    System.out.println(0.75*24.5*i);   
    }   
    if(i >= 500) {   
    System.out.println(0.7*24.5*i); 
    }

    System.out.println("提示是否进行费用计算?(y/n):");
    try{
    flag = in.readLine();
    } catch (IOException  e) {

    }
    }
    }}
    Thanks
    Hima
      

  4.   

    import java.io.*;public class Example10 {
        public static void main(String[] args) {
            int i = 0;
            String again = "Y";
            try {
                while (again == "Y") {
                    System.out.println("请输入购买数量:");
                    BufferedReader in = new BufferedReader(new InputStreamReader(
                            System.in));
                    i = Integer.parseInt(in.readLine());                if (i < 100) {
                        System.out.println(24.5 * i);
                    }
                    if (i >= 100 && i < 200) {
                        System.out.println(24.5 * i * 0.8);
                    }
                    if (i >= 200 && i < 500) {
                        System.out.println(0.75 * 24.5 * i);
                    }
                    if (i >= 500) {
                        System.out.println(0.7 * 24.5 * i);
                    }
                    System.out.println("是否进行费用计算?(y/n):");
                    if (in.readLine().toUpperCase().equals("N")) {
                        again = "N";
                        System.out.println("结束计算!");
                    }
                }
            } catch (IOException e) {
                System.err.println(e);
            }    }
    }