gpt4 book ai didi

java - 程序运行不正常

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:14:34 25 4
gpt4 key购买 nike

我正在尝试为用户输入书籍信息(名称、作者、出版年份和价格)创建一个程序。然后我希望能够获得 2000 年之后出版的书籍名称及其平均价格的列表。起初,我想到了在数组中使用数组,但在经历了类似的问题后,我选择制作一个Book类:

public class Books {
public static String name;
public static String author;
public static int year;
public static float price;
public static float sum = 0.0F;
public static float avrg = 0.0F;

我不知道以下是否有必要,但我在很多示例中看​​到了它:

public String getName () {
return name;
}
public String getAuthor () {
return author;
}
public int getYear () {
return year;
}
public float getPrice () {
return price;
}

然后,我尝试获取用户输入并将我的新对象存储在一个数组中。

public static void main(String[] args) {
System.out.println("Please enter details for five books!");
Scanner in = new Scanner (System.in);
Books [] book = new Books[5];
int i = 0;
int j = 0;
int count = 0;

for (i=0; i < book.length; i++) {
System.out.println("Enter Book Title, Author Last Name, Year and Price:");
String name = in.next();
String author = in.next();
int year = in.nextInt();
float price = in.nextFloat();
}

在这里我想找到准确的书籍并计算它们的平均价格:

for (j=0; j<book.length; j++){
if (Books.year >= 2000) {
System.out.println("Books published after 2000:"+ Books.name);
sum = sum + Books.price;
count = count + 1;
}
}
avrg = sum/count;
System.out.println("Average price of books published after 2000:"+avrg);

在我想要出版书名(和平均价格)的部分之前,一切似乎都进行得很顺利。结果我得到了这个:

Please enter details for five books!
Enter Book Title, Author Last Name, Year and Price:
...
Average price of books published after 2000:NaN

它甚至没有显示名字。我很困惑,我不知道这是否是做我想做的事情的最佳方式。我将不胜感激。

最佳答案

NaN 的意思是“不是数字”,它表示数学运算错误,例如零除以零,这就是你的情况:如果没有一本书满足条件 count=0 和 sum=0.0F,那么你就有了。

关于java - 程序运行不正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38031133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com