私はクラスのためのJavaプロジェクトをやっているので、私はこれに固執しています。私は別の製品を購入するための2つのオプション、カートに商品を追加するための1つのオプション、テキストファイルにカートを保存するための最後のメニューを持つショッピングカートをシミュレートするプログラムを実行する必要がありました。プログラムはテキストファイルを作成しています。 (また、何らかの理由で、私はオプション2に行くと、それは重複を書き込み、アレイに保存するときに)固定、まだjavaのファイルにarraylistを書き込む
package pack;
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
int op=0,codigo,garantia,tipo=0;
double precio;
String nombre,fecha;
Alimento ali=null;
Electronicos ele=null;
Changuito cmp = new Changuito();
FileWriter archivo=null;
Scanner obj =new Scanner(System.in);
System.out.println("Ingrese Que desea hacer");
System.out.println("=======================");
System.out.println("1-Tomar Producto Alimento");
System.out.println("2-Tomar Producto Electronico");;
System.out.println("4-Grabar en Archivo");
op=obj.nextInt();
while (op!=0){
switch (op){
case 1:
ali=null;
System.out.println("Ingrece Precio: ");
precio=obj.nextDouble();
System.out.println("Ingrese Codigo");
codigo=obj.nextInt();
System.out.println("Ingrese Nombre");
nombre=obj.next();
System.out.println("Ingrese Fecha:");
fecha=obj.next();
ali = new Alimento(codigo,precio,nombre,fecha);
tipo=1;
break;
case 2:
ele=null;
System.out.println("Ingrece Precio: ");
precio=obj.nextDouble();
System.out.println("Ingrese Codigo");
codigo=obj.nextInt();
System.out.println("Ingrese Nombre");
nombre=obj.next();
System.out.println("Ingrese Garantia:");
garantia=obj.nextInt();
ele = new Electronicos(codigo,precio,nombre,garantia);
tipo=2;
break;
case 3:
if (tipo==1){
cmp.cargararray(ali);
}
if (tipo==2){
cmp.cargararray(ele);
}
break;
case 4:
Changuito c = new Changuito();
c.grabararchivo();
break;
default:
break;
}
System.out.println("Ingrese Que desea hacer");
System.out.println("=======================");
System.out.println("1-Tomar Producto Alimento");
System.out.println("2-Tomar Producto Electronico");
System.out.println("3-Agregar El ultimo Producto que Ingreso Al changuito");
System.out.println("4-Grabar en Archivo");
op=obj.nextInt();
}
cmp.mostrararray();
}
}
を書いていないし、私はこれでカートのクラスがあります。
package pack;
import java.io.*;
import java.util.*;
public class Changuito {
FileWriter archivo=null;
PrintWriter pw=null;
private ArrayList <Productos> vec;
public Changuito() {
super();
vec = new ArrayList<Productos>();
}
public ArrayList<Productos> getVec() {
return vec;
}
public void setVec(ArrayList<Productos> vec) {
this.vec = vec;
}
public void cargararray(Productos obj){
vec.add(obj);
}
public void mostrararray(){
for (Productos cmp:vec){
System.out.println("Nombre: " +cmp.nombre);
System.out.println("Codigo: " +cmp.codigo);
System.out.println("Precio: " +cmp.precio);
if (cmp instanceof Alimento){
System.out.println("Fecha: " +((Alimento) cmp).fecha);
}
if (cmp instanceof Electronicos){
System.out.println("Garantia: " +((Electronicos)cmp).garantia);
}
}
}
public void grabararchivo(){
try{
archivo = new FileWriter("D:\\archivo.txt");
pw= new PrintWriter (archivo);
for (Productos cmp:vec){
pw.println(cmp.nombre);
pw.println(cmp.codigo);
pw.println(cmp.precio);
}
}catch(Exception e){
e.printStackTrace();
}
finally{
try{
if (archivo !=null)
archivo.close();
}
catch(Exception e2){
e2.printStackTrace();
}
}
}
}
ヒント: 'break' ... –