我是java新手,只是想读取一个csv文件,我做到了。但我想玩弄方法,但我不能。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CSVToObjectConverter {
public static void main(String[] args) {
String csvFile = args[0];
String line;
List<pizza> pizl = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
while ((line = br.readLine()) != null) {
String[] data = line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
float pizza_id = Float.parseFloat(data[0]);
float order_id = Float.parseFloat(data[1]);
String pizza_name_id = data[2];
float quantity = Float.parseFloat(data[3]);
String order_date = data[4];
String order_time = data[5];
float unit_price = Float.parseFloat(data[6]);
float total_price = Float.parseFloat(data[7]);
String pizza_size = data[8];
String pizza_category = data[9];
String pizza_ingredients = data[10];
String pizza_name = data[11];
pizza pizaA = new pizza(pizza_id,
order_id,
pizza_name_id,
quantity,
order_date,
order_time,
unit_price,
total_price,
pizza_size,
pizza_category,
pizza_ingredients,
pizza_name);
pizl.add(pizaA);
}
} catch (IOException e) {
e.printStackTrace();
}
// for (pizza pizaA : pizl) {
// System.out.println(pizl.get(0).order_id());
// }
/*
public void myMethod() {
for ( int a = 0 ; a < pizl.size() ; a++)
{
System.out.println(pizl.get(a).order_id());
}
}
*/
myMethod(pizl);
}
}
class pizza{
private float pizza_id;
private float order_id;
private String pizza_name_id;
private float quantity;
private String order_date;
private String order_time;
private float unit_price;
private float total_price;
private String pizza_size;
private String pizza_category;
private String pizza_ingredients;
private String pizza_name;
public pizza(float pizza_id,
float order_id,
String pizza_name_id,
float quantity,
String order_date,
String order_time,
float unit_price,
float total_price,
String pizza_size,
String pizza_category,
String pizza_ingredients,
String pizza_name) {
this.pizza_id = pizza_id;
this.order_id = order_id;
this.pizza_name_id = pizza_name_id;
this.quantity = quantity;
this.order_date = order_date;
this.order_time = order_time;
this.unit_price = unit_price;
this.total_price = total_price;
this.pizza_size = pizza_size;
this.pizza_category = pizza_category;
this.pizza_ingredients = pizza_ingredients;
this.pizza_name = pizza_name;
}
// Getters and setters (omitted for brevity)
//@Override
public float pizza_id() {
return pizza_id;
}
public float order_id() {
return order_id;
}
public String pizza_name_id() {
return pizza_name_id;
}
public float quantity() {
return quantity;
}
public String order_date() {
return order_date;
}
public String order_time() {
return order_time;
}
public float unit_price() {
return unit_price;
}
public float total_price() {
return total_price;
}
public String pizza_size() {
return pizza_size;
}
public String pizza_category() {
return pizza_category;
}
public String pizza_ingredients() {
return pizza_ingredients;
}
public String pizza_name() {
return pizza_name;
}
public void myMethod(List<pizza> c) {
for ( int a = 0 ; a < c.size() ; a++)
{
System.out.println(c.get(a).order_id());
}
}
}
我只想使用“myMethod”,但我不知道如何使用。
我尝试移动这个方法,但实际上我不知道把它放在哪里,输出是一个错误,你找不到符号。
我需要掌握方法和 Java,但我没有太多时间来完成任务。
您需要将此方法设为静态:
public static void myMethod(List<pizza> c) {
for ( int a = 0 ; a < c.size() ; a++)
{
System.out.println(c.get(a).order_id());
}
}
然后在main中,需要调用(还要注意JAVA中的类名必须是Pizza而不是pizza)
Pizza.myMethod(pizl);