gpt4 book ai didi

Java Inventory - ADT 类和文件输入问题

转载 作者:行者123 更新时间:2023-12-02 07:51:32 25 4
gpt4 key购买 nike

我在这个程序上遇到了障碍。

我有一个程序,涉及创建一个涉及凯迪拉克“库存”的程序,除此之外,我找不到问题的答案。

我只是不知道该怎么办。我将提供说明,然后发布我到目前为止所掌握的语法。

这是我必须做的:

  • 虚构的凯迪拉克经销店的库存,并允许搜索库存以显示符合特定条件的汽车列表。

  • 创建一个名为 Cadillac 的 ADT 类,其中包含四个实例数据字段:型号名称、库存编号和颜色的字符串以及价格的整数。该类包含一个构造函数,它接收所有四个实例字段的值,并将参数值分配给实例变量。该类还为实例数据的每个字段包含一个简单的访问器方法和修改器方法。

  • 程序运行时,它会从文件“inventory.dat”加载库存。

  • 以下是该文件内容的示例:DTS 11210 冰川白 42706凯雷德 66502 深红珍珠 65547XLR 58362 辐射青铜 78840SRX 16218 辐射青铜 44522
  • 每行(每条记录)包含 4 个数据字段:型号名称字符串、5 位库存编号和颜色以及价格整数。字段之间的分隔符是制表符(“\t”)。

  • 在 main() 中,创建一个 Cadillac 对象数组,从文件中读取一条记录,将其拆分为 4 个字段,创建一个 Cadillac 对象并将其添加到数组中。

    <
  • 库存文件发生变化,无论文件中有多少条记录,您的程序都需要正常运行。我们保证文件中的记录永远不会超过 100 条( parking 场上只能容纳 100 辆车),并且每条记录将包含 4 个有效数据字段。
  • 用户可以通过两种方式搜索库存:按型号名称和按价格。加载库存后,询问用户他们想要进行哪个搜索。如果他们指示“按型号名称”,请让他们输入要搜索的名称。有效型号名称为:DTS、Escalade、ESV、EXT、SRX、STS 和 XLR。在库存中搜索具有该名称的所有汽车,并在控制台屏幕上显示结果表。

-当用户表示他/她想按价格搜索时,让他们输入要搜索的价格for,然后执行搜索,显示搜索价格在 3,000 美元以内的所有汽车价格。- 程序应该循环执行用户想要的尽可能多的搜索。让用户结束当询问他们想要执行的搜索类型时,单击“取消”按钮即可进行程序。第二个问题(要搜索的型号或价格)上的“取消”按钮不应结束程序,但您的代码应该将其识别为无效条目,并且不会引发异常。除了列表输出之外,程序中的所有输入和输出都应该使用 JOptionPane 对话框。

这是我到目前为止所拥有的:

import java.util.Scanner;
import java.io.*;

public class Inventory {

public static void main ( String[] args )
{
String line;
String[] fields;
String[] items;
int count = 0;
int recCount;
Cadillac[] list = new Cadillac[100];

try
{
BufferedReader br = new BufferedReader( new FileReader( "inventory.dat" ) );
line = br.readLine();
while( line != null )
{
fields = line.split( "\t" );
items[count++] = new Cadillac( fields[0], fields[1], fields[2],
fields[3] );
line = br.readLine();
}
br.close();
}
catch( IOException e )
{
System.out.println( "Can't open input file. Program terminating." );
System.exit( 1 );
}

}
public static int loadArray(Cadillac[] items)
{


}

}

class Cadillac {
//Instance data
private String model;
private String stockNum;
private String color;
private int price;
//Constructor
public Cadillac(String mdl, String stckNum, String clr, int prc)
{
model = mdl;
stockNum = stckNum;
color = clr;
price = prc;
}
//Set of Accessor and Mutator Methods
public String getModel(){
return model;
}
public void setModel(String newModel){
model = newModel;
}
public String getStockNum(){
return stockNum;
}
public void setStockNum(String newStockNum){
stockNum = newStockNum;
}
public String getColor(){
return color;
}
public void setColor(String newColor){
color = newColor;
}
public int getPrice(){
return price;
}
public void setPrice(int newPrice){
price = newPrice;
}
}

请帮忙!我不知道该怎么做。

最佳答案

关于您的评论:

It is saying that it cannot find the symbol constructor Cadillac

为凯迪拉克定义的唯一构造函数具有参数(String, String, String, int),但是当您尝试在 main 中实例化该对象时,您向它传递了四个字符串。 Java 抛出错误,因为它找不到正确的构造函数。

要么将最后一个参数作为 int 传递,要么为您的参数创建一个新的构造函数。

关于Java Inventory - ADT 类和文件输入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10168430/

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