Java 最低和最高价格的产品(数据从文本文件中读取)
输入文件: 糖1.2;三十 牛奶;4.5;一百 谷物;3.2;二百 在输出文件中,我必须打印最低和最高价格(牛奶和糖)的产品。Java 最低和最高价格的产品(数据从文本文件中读取),java,arrays,io,inputstream,filestream,Java,Arrays,Io,Inputstream,Filestream,输入文件: 糖1.2;三十 牛奶;4.5;一百 谷物;3.2;二百 在输出文件中,我必须打印最低和最高价格(牛奶和糖)的产品。 我的程序以最高价格打印产品,但以最低价格打印谷物 主类: public class Lab3 { public static void main (String[ ] args) throws IOException { double max=0, min=10000000; Product p_min=new P
我的程序以最高价格打印产品,但以最低价格打印谷物 主类:
public class Lab3
{
public static void main (String[ ] args) throws IOException
{
double max=0, min=10000000;
Product p_min=new Product("",0.0,0);
Product p_max=new Product("",0.0,0);
BufferedReader in=new BufferedReader (new InputStreamReader(new FileInputStream("C:\\Users\\Timotei\\Desktop\\in.txt")));
PrintStream out=new PrintStream(new FileOutputStream("C://Users//Timotei//Desktop//out.txt"));
String line;
while((line=in.readLine())!=null)
{
String[] array=line.split(";");
String name=array[0];
double price=Double.valueOf(array[1]);
int quantity=Integer.valueOf(array[2]);
if(price>max)
{
max=price;
p_max=new Product(name,price,quantity);
}
if(price<min)
{
min=price;
p_min=new Product(name,price,quantity);
}
}
out.println("Product with maximum price is:"+p_max);
System.out.println("Product with maximum price is:"+p_max);
System.out.println("Product with minimum price is:"+p_min);
out.println("Product with minimum price is:"+p_min);
in.close();
out.close();
}
}
您应该替换此:
if(price<max)
min=price;
if(price)并更好地缩进您的代码,结构不清晰。尝试使括号的使用更加一致以增加可读性:始终使用或从不使用括号,但始终遵循相同的规则。我已更新了代码,但仍然不起作用。在输出时,它以最低价格将谷物打印为产品。不应该有“其他”但是有两个不同的if块。你的文件的第一个条目是sugar,在我们遇到milk之前,它应该同时被计算为p_max和p_min。非常感谢,我已经解决了这个问题(我更新了代码)我是新的,我没有15个声誉:(.一旦我有了,我会投票:D
if(price<max)
min=price;
if(price<min)
min=price;