定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据来完成图书信息表的创建。然后,统计图书表中的图书个数,同时逐行输出每本书的信息。 输入要求 输入n+1行,其中前n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空格。最后,第n+1行是输入结束标志:0 0 0(空格分隔的三个0)。其中,书号和书名为字符串类型,价格为浮点数类型。 输出要求 总计n+1行,第1行是所创建的图书信息表中的图书个数,后n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔。其中,价格输出保留两位小数。用java怎么写
时间: 2023-05-13 14:06:44 浏览: 184
以下是Java代码:
import java.util.Scanner;
public class BookInfoTable {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String[][] bookInfo = new String[100][3]; // 定义一个二维数组存储图书信息
int n = input.nextInt(); // 读入图书个数
input.nextLine(); // 读入换行符
for (int i = 0; i < n; i++) {
String line = input.nextLine();
if (line.equals("0 0 0")) { // 如果读入结束标志,则跳出循环
n = i;
break;
}
String[] info = line.split(" "); // 将读入的一行字符串按空格分割成三个部分
bookInfo[i][0] = info[0]; // 存储书号
bookInfo[i][1] = info[1]; // 存储书名
bookInfo[i][2] = info[2]; // 存储价格
}
System.out.println(n); // 输出图书个数
for (int i = 0; i < n; i++) {
System.out.println(bookInfo[i][0] + " " + bookInfo[i][1] + " " + String.format("%.2f", Double.parseDouble(bookInfo[i][2]))); // 输出每本书的信息,价格保留两位小数
}
}
}
阅读全文