Arrays

10 respostas
D

Galera,

To fazendo um projeto da Facu, esse projeto é um fluxo de caixa …

Pretendo fazer com matriz … na qual as colunas seriam os dias (20 dias) e as linhas seriam os tipos de entradas(dinheiro, cheque, cartao, etc …)

queria fazer um esquema de definir os tipos, por exemplo "digite 1 para entrar com dinheiro, digite 2 para cheque …

e eu queria utilizar um switch para realizar isso … mas não consigo fazer um esquema para cada tipo de entradas digitada ser armazena na linha que defini o tipo de entrada e tal …

alguma sugestão de como posso fazer isso?

10 Respostas

claudneto
import java.util.Scanner;

public class FluxoDeCaixa {

	public static void main(String[] args) {
		
		String[][] matriz = new String[20][3];
		int dias = 0;
		Scanner input = new Scanner (System.in);
		System.out.println("Digite a opção de pagamento:");
		System.out.println("1 - Dinheiro, 2 - Cheque ou 3 - Cartão");
		int escolha = input.nextInt();
		
		switch(escolha) {
		case 1: {if (dias <= 20) {
			System.out.println("Opção escolhida: dinheiro.");
			matriz[dias][0] = "X";
			dias++;
			break;}
			else {
				System.out.println("Os dias terminaram!");
			}
				}
		case 2: {if (dias <= 20) {
			System.out.println("Opção escolhida: cheque.");
			matriz[dias][1] = "X";
			dias++;
			break;}
			else {
				System.out.println("Os dias terminaram!");
			}
				}
		case 3: {if (dias <= 20) {
			System.out.println("Opção escolhida: cartão.");
			matriz[dias][2] = "X";
			dias++;
                        }
			else {
				System.out.println("Os dias terminaram!");
			}
			break;}
		default: System.out.println("Opção inválida!");
		}
	}
}

Eu fiz pra ele marcar na matriz um X na opção escolhida…

e coloquei a variável dias que conta o número de dias…(GAMBIARRA)

;D

Tire a idéia dai e altere pro que vc precisar…

GALACTUS

AAAAAAA, é assim que esse SWITCH do caramba funciona, e eu me matando pra fazer o switch do meu programa funcionar hahahaha.

ViniGodoy

Sim, mas o ideal, na sua vida de programador, é depois aprender a não usa-lo (sem perder a funcionalidade dele, lógico). Umas das ótimas coisas que a OO removeu.

D

Certo mano!
Valeu mesmo!

Já deu pra tirar uma ideia dessa forma que vc fez … vlw mesmo!

B

GALACTUS:
AAAAAAA, é assim que esse SWITCH do caramba funciona, e eu me matando pra fazer o switch do meu programa funcionar hahahaha.

Melhor você ler uma apostila ou um livro antes de começar a programar.

D

o esquema é assim … mas quero utilizar a classe Scanner nesse código, como posso utilizar?

import javax.swing.JOptionPane;

public class Entrada

{

private double previsto[][];

private double realizado[][];
public Entrada()
{
    previsto = new double[5][20];
    realizado = new double[5][20];
}

//Inserir valor para uma posição da matriz Previsto
public void inserirPrevistoUmValor(int linha, int coluna, double valor)
{
    previsto[linha][coluna] = valor;
}

//Inserir todos os valores para a matriz Previsto
public void inserirPrevistoTodosValores()
{
    for(int l = 0; l < 5; l++)
    {
        for(int c = 0; c < 5; c++)
        {
            previsto[l][c] = Double.parseDouble(JOptionPane.showInputDialog(null,"Inseria o valor para Previsto[" + l + "][" + c + "]"));
        }
    }
}

//Exibir um valor da matriz Previsto
public void exibirPrevistoUmValor(int linha, int coluna)
{
    JOptionPane.showMessageDialog(null,previsto[linha][coluna]);    
}

//Somar os valores de uma coluna da matriz Previsto
public double somaPrevistoDiasEscolhido(int dia)
{
    double soma = 0;
    for(int c = 0; c < 5; c++)
    {
        soma += previsto[c][dia];
    }
    
    return soma;
}

//Somar todos os valores lançados na conta específica na matriz Previsto
public double somaPrevistoConta(int conta)
{
    double soma = 0;
    for(int dia = 0; dia < 20; dia++)
    {
        soma += previsto[conta][dia];
    }
    
    return soma;
}

//Somar todos os valores de todos os dias e contas da matriz Previsto
public double somaPrevistoTudo()
{
    double soma = 0;
    for(int i = 0; i < 20; i++)
    {
        soma += somaPrevistoDiasEscolhido(i);
    }
    
    return soma;
}

//Inserir valor para uma posição da matriz Realizado
public void inserirRealizadoUmValor(int linha, int coluna, double valor)
{
    realizado[linha][coluna] = valor;
}

//Inserir todos os valores para a matriz Realizado
public void inserirRealizadoTodosValores()
{
    for(int l = 0; l < 5; l++)
    {
        for(int c = 0; c < 5; c++)
        {
            realizado[l][c] = Double.parseDouble(JOptionPane.showInputDialog(null,"Inseria o valor para Realizado[" + l + "][" + c + "]"));
        }
    }
}

//Exibir um valor da matriz Realizado
public void exibirRealizadoUmValor(int linha, int coluna)
{
    JOptionPane.showMessageDialog(null,realizado[linha][coluna]);    
}

//Somar os valores de uma coluna da matriz Realizado
public double somaRealizadoDiasEscolhido(int dia)
{
    double soma = 0;
    for(int c = 0; c < 5; c++)
    {
        soma += realizado[c][dia];
    }
    
    return soma;
}

//Somar todos os valores lançados na conta específica na matriz Realizado
public double somaRealizadoConta(int conta)
{
    double soma = 0;
    for(int dia = 0; dia < 20; dia++)
    {
        soma += realizado[conta][dia];
    }
    
    return soma;
}

//Somar todos os valores de todos os dias e contas da matriz Realizado
public double somaRealizadoTudo()
{
    double soma = 0;
    for(int i = 0; i < 20; i++)
    {
        soma += somaRealizadoDiasEscolhido(i);
    }
    
    return soma;
}


//Exibir a Entrada
public void exibirEntrada()
{
        String dinheiro = "";
        String dia = "";
        String previstoRealizado = "";
        String cheque = "";
        String duplicata = "";
        String cartao = "";
        String outros = "";
        String totalDia = "";         
        
        for(int i = 0; i < 20; i++)
        {
            previstoRealizado += "\tPrevisto\tRealizado";
            dinheiro += previsto[0][i] + "\t\t" + realizado[0][i] + "\t\t";
            cheque += previsto[1][i] + "\t\t" + realizado[1][i] + "\t\t";
            duplicata += previsto[2][i] + "\t\t" + realizado[2][i] + "\t\t";
            cartao += previsto[3][i] + "\t\t" + realizado[3][i] + "\t\t";
            outros += previsto[4][i] + "\t\t" + realizado[4][i] + "\t\t";
            dia += "\t\t\t\t  " + (i + 1);
            totalDia += somaPrevistoDiasEscolhido(i) + "\t\t" + somaRealizadoDiasEscolhido(i) + "\t\t";
        }            
       
        System.out.println("\t\t\t\t\tEntradas\n" +
                       "Dias\t" + dia + "\t\t\t\tTotal\n" + 
                        "\t\t\t" + previstoRealizado + "\tPrevisto\tRealizado" + "\n" +
                       "Dinheiro \t\t\t" + dinheiro + somaPrevistoConta(0) + "\t\t" + somaRealizadoConta(0) + "\n" +
                       "Cheque Pré-Datado  \t\t" + cheque + somaPrevistoConta(1) + "\t\t" + somaRealizadoConta(1) + "\n" +
                       "Duplicata à Receber  \t\t" + duplicata + somaPrevistoConta(2) + "\t\t" + somaRealizadoConta(2) + "\n" +
                       "Cartão de Crédito \t\t" + cartao + somaPrevistoConta(3) + "\t\t" + somaRealizadoConta(3) + "\n" +
                       "Outros Recebimentos \t\t" + outros + somaPrevistoConta(4) + "\t\t" + somaRealizadoConta(4) + "\n" +
                       "Total de Entrada \t\t" + totalDia + somaPrevistoTudo() + "\t\t" + somaRealizadoTudo());
}

}

B

Eu leio isso e te respondo quando você colocar o teu código(identado) entre as tags [code [/code

D

postei o código abaixo…

neste esquema q eu fiz no código, como faço para implantar a classe Scanner dentro deste código?

D

consegui fazer .. aUAHuha

import javax.swing.JOptionPane;
    public class Entrada
   {
      private double previsto[][];
      private double realizado[][];
    
       public Entrada()
      {
         previsto = new double[5][20];
         realizado = new double[5][20];
      }
    
    //Inserir valor para uma posição da matriz Previsto
       public void inserirPrevistoUmValor(int linha, int coluna, double valor)
      {
         previsto[linha][coluna] = valor;
      }
    
    //Inserir todos os valores para a matriz Previsto
       public void inserirPrevistoTodosValores()
      {
         for(int l = 0; l < 5; l++)
         {
            for(int c = 0; c < 5; c++)
            {
               previsto[l][c] = Double.parseDouble(JOptionPane.showInputDialog(null,"Inseria o valor para Previsto[" + l + "][" + c + "]"));
            }
         }
      }
    
    //Exibir um valor da matriz Previsto
       public void exibirPrevistoUmValor(int linha, int coluna)
      {
         JOptionPane.showMessageDialog(null,previsto[linha][coluna]);    
      }
    
    //Somar os valores de uma coluna da matriz Previsto
       public double somaPrevistoDiasEscolhido(int dia)
      {
         double soma = 0;
         for(int c = 0; c < 5; c++)
         {
            soma += previsto[c][dia];
         }
        
         return soma;
      }
    
    //Somar todos os valores lançados na conta específica na matriz Previsto
       public double somaPrevistoConta(int conta)
      {
         double soma = 0;
         for(int dia = 0; dia < 20; dia++)
         {
            soma += previsto[conta][dia];
         }
        
         return soma;
      }
    
    //Somar todos os valores de todos os dias e contas da matriz Previsto
       public double somaPrevistoTudo()
      {
         double soma = 0;
         for(int i = 0; i < 20; i++)
         {
            soma += somaPrevistoDiasEscolhido(i);
         }
        
         return soma;
      }
    
    //Inserir valor para uma posição da matriz Realizado
       public void inserirRealizadoUmValor(int linha, int coluna, double valor)
      {
         realizado[linha][coluna] = valor;
      }
    
    //Inserir todos os valores para a matriz Realizado
       public void inserirRealizadoTodosValores()
      {
         for(int l = 0; l < 5; l++)
         {
            for(int c = 0; c < 5; c++)
            {
               realizado[l][c] = Double.parseDouble(JOptionPane.showInputDialog(null,"Inseria o valor para Realizado[" + l + "][" + c + "]"));
            }
         }
      }
    
    //Exibir um valor da matriz Realizado
       public void exibirRealizadoUmValor(int linha, int coluna)
      {
         JOptionPane.showMessageDialog(null,realizado[linha][coluna]);    
      }
    
    //Somar os valores de uma coluna da matriz Realizado
       public double somaRealizadoDiasEscolhido(int dia)
      {
         double soma = 0;
         for(int c = 0; c < 5; c++)
         {
            soma += realizado[c][dia];
         }
        
         return soma;
      }
    
    //Somar todos os valores lançados na conta específica na matriz Realizado
       public double somaRealizadoConta(int conta)
      {
         double soma = 0;
         for(int dia = 0; dia < 20; dia++)
         {
            soma += realizado[conta][dia];
         }
        
         return soma;
      }
    
    //Somar todos os valores de todos os dias e contas da matriz Realizado
       public double somaRealizadoTudo()
      {
         double soma = 0;
         for(int i = 0; i < 20; i++)
         {
            soma += somaRealizadoDiasEscolhido(i);
         }
        
         return soma;
      }
   
    
    //Exibir a Entrada
       public void exibirEntrada()
      {
         String dinheiro = "";
         String dia = "";
         String previstoRealizado = "";
         String cheque = "";
         String duplicata = "";
         String cartao = "";
         String outros = "";
         String totalDia = "";         
            
         for(int i = 0; i < 20; i++)
         {
            previstoRealizado += "\tPrevisto\tRealizado";
            dinheiro += previsto[0][i] + "\t\t" + realizado[0][i] + "\t\t";
            cheque += previsto[1][i] + "\t\t" + realizado[1][i] + "\t\t";
            duplicata += previsto[2][i] + "\t\t" + realizado[2][i] + "\t\t";
            cartao += previsto[3][i] + "\t\t" + realizado[3][i] + "\t\t";
            outros += previsto[4][i] + "\t\t" + realizado[4][i] + "\t\t";
            dia += "\t\t\t\t  " + (i + 1);
            totalDia += somaPrevistoDiasEscolhido(i) + "\t\t" + somaRealizadoDiasEscolhido(i) + "\t\t";
         }            
           
         System.out.println("\t\t\t\t\tEntradas\n" +
                           "Dias\t" + dia + "\t\t\t\tTotal\n" + 
                            "\t\t\t" + previstoRealizado + "\tPrevisto\tRealizado" + "\n" +
                           "Dinheiro \t\t\t" + dinheiro + somaPrevistoConta(0) + "\t\t" + somaRealizadoConta(0) + "\n" +
                           "Cheque Pré-Datado  \t\t" + cheque + somaPrevistoConta(1) + "\t\t" + somaRealizadoConta(1) + "\n" +
                           "Duplicata à Receber  \t\t" + duplicata + somaPrevistoConta(2) + "\t\t" + somaRealizadoConta(2) + "\n" +
                           "Cartão de Crédito \t\t" + cartao + somaPrevistoConta(3) + "\t\t" + somaRealizadoConta(3) + "\n" +
                           "Outros Recebimentos \t\t" + outros + somaPrevistoConta(4) + "\t\t" + somaRealizadoConta(4) + "\n" +
                           "Total de Entrada \t\t" + totalDia + somaPrevistoTudo() + "\t\t" + somaRealizadoTudo());
      }
    
    
   }
B

Instancie um Scanner para toda da a classe com

Scanner in = new Scanner(System.in);

depois use o scanner no lugar do JOption.showInputDialog com

in.nextLine()
Criado 9 de outubro de 2008
Ultima resposta 10 de out. de 2008
Respostas 10
Participantes 5