Jump to content

maquina venda automatica


andrefsm
 Share

Recommended Posts

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

public class MaquinaVendaAutomatica {
  

  public static void main(String[] args) {

     int itemPrice=0; 
     int currentBalance;
     int totalCollected=0;
  
  int a = 0,b =0,linhas=5,colunas=4,al;
 String filename = "PRODUTOS.txt";
 String[] item;
 String [][] maquina = new String [linhas][colunas];
 int contador = 1; 
     String arranque = "";
     Scanner input = new Scanner( System.in ); 
     
     System.out.println("AutoVenda. Comando? > "); 
      arranque = input.next();     
       
    if (arranque.equals("LIGAR")) {            
       
       System.out.println("MÁQUINA LIGADA. A FAZER AUTOTESTE ");
try {   Thread.sleep(1000);
       System.out.print("...10%");
       Thread.sleep(1000);
       System.out.print("...20%");
       Thread.sleep(1000);
       System.out.print("...30%");
       Thread.sleep(1000);
       System.out.print("...40%");
       Thread.sleep(1000);
       System.out.print("...50%");
       Thread.sleep(1000);
       System.out.print("...60%");
       Thread.sleep(1000);
       System.out.print("...70%");
       Thread.sleep(1000);
       System.out.print("...80%");
       Thread.sleep(1000);
       System.out.print("...90%");
       Thread.sleep(1000);
       System.out.println("...100%");}
catch (InterruptedException ex){}
       System.out.println("Máquina OK e preparada para vender. Prima ENTER para exibir o ecrã inicial.");
       

    
       
	try {		
		FileReader f = new FileReader(filename); 
		BufferedReader i = new BufferedReader(f);
		String str; //string de linhas do ficheiro
		ArrayList<String> fa = new ArrayList<String>(); // criar arraylist fa

		/* ciclo leitura ficheiro */ 	
		while ((str = i.readLine()) != null) {			
			fa.add(str);//adicionar linha ao arraylist 
		}			


		/* ciclo de output ficheiro */
		System.out.println("+-+----------------------------------------------------------------------+");
		System.out.println("|       a             b           c             d                        |");
		System.out.println("+-+----------------------------------------------------------------------+");



	while (contador < 6){
	for (int q=0;q<fa.size();q++){	

		System.out.print(contador+" |     ");	
		System.out.println(fa.get(q)+" ");//obter linha do arrylist e imprimir
		System.out.println("       ");

		contador = contador+1;	
		}			

		i.close();//terminar o input
	}
	} catch (IOException e) {
		//e.printStackTrace();
		System.out.println("ficheiro "+filename+" nao encontrado");
	}


	try {		
		FileReader f = new FileReader(filename); 
		BufferedReader prod = new BufferedReader(f);
		String str;
		/*ciclo leitura ficheiro e criacao de array maquina*/ 	
		while ((str = prod.readLine()) != null) {			
			item = str.split(";");				
			al=item.length;// numero total de items

			System.out.println("Trocos Disponíveis");
			System.out.println("Comando? >");


		    int index = (int)(str.charAt(0)-'a');  /* como utilizo?*/
		    
		   b=index;
		   

				maquina[b][a]=item[a].trim();
				System.out.println(produto(maquina[b][a]) + ". Preço: " + preco(maquina[b] [a])+ "€");

			}	


		input.close();//terminar o input
	} catch (IOException e) {
		//e.printStackTrace();
		System.out.println("ficheiro "+filename+" nao encontrado");
	}}
}

//funcao que retorna nome do produto
static String produto(String m){
	String[] v;
	v = m.split(",");	
	return (v[0]);//retorna produto
}
//funcao que retorna quantidade do produto
static int quantidade(String m){
	String[] v;
	v = m.split(",");	
	return (Integer.valueOf(v[1]));//retorna quantidade
}
//funcao que retorna preco do produto
static float preco(String m){
	String[] v;
	v = m.split(",");	
	return (Float.valueOf(v[2]));}//retorna preco 

//funcao que retorna

	public void insertCoin(int faceValue)
    { System.out.println("Introduza a moeda");
       if(faceValue > 0) 
       {   int currentBalance =0;
           currentBalance = currentBalance + faceValue;

       }
       else 
       {
           System.out.println("Invalid coin with face value " + faceValue +
              " inserted. Use a positive value!");
       }


}
    
  }
    
    
    
    
    
    
/*   else if (arranque.equals("GERIR")) {
    
    System.out.println ("Modo Gerir Ligado");}
    
    
    else if (arranque.equals("DESLIGAR")){
    System.out.println ("MÁQUINA A DESLIGAR, FICHEIROS ESCRITOS.");
    System.exit(0);
    }
    
    else 
    	System.out.print ("Introduza um comando correcto");

   
    
    
  
}

}*/

Nao consigo por a ler o que o utilizador da, como por exemplo, a1, nao retorna o item

Obrigao

Link to comment
Share on other sites

Tu metes aqui um código que à partida é confuso... sem o explicar sequer. Sempre que tiveres dúvidas, não basta só tentar expressar a dúvida. Convém também tentar explicar o funcionamento do programa e outras coisas que achares relevante.

Ora, em relação à tua dúvida, o item A1 não é lido simplesmente porque não há nenhuma parte do teu código que leia o pedido.

"Lamento... Detectou mais de dez mil ficheiros infectados..."

Link to comment
Share on other sites

é o seguinte

este trabalho é uma maquina de venda automática,que tem produtos num ficheiro txt e o java tem de os ir buscar.... e cada um está inserido numa espécie de batalha naval

----------------------------

|      a      b        c        |

----------------------------

|1|                            |

|2|                            |

|3|                            |

----------------------------

por isso quando se refere ao produto #a1 será um produto qualquer,tipo chocolate....o que interessa e que depois de o programa ir chamar os produtos e mostrar na tabela e quando o utilizador escolhe o programa não obedece...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.