问题如下:
/*
有一间书店,新出一种收,单价是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!
/*
有一间书店,新出一种收,单价是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!
{
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;
}
};
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"));
}
}
把你的程序改了一下
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
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);
} }
}