O código não roda

4 respostas
KillerInstinct

Olá, sou novo aqui no GUJ e na linguagem Java, fiz esse código mas ele não roda, o NetBeans (é o que eu uso na faculdade) não demonstra nehum erro, ele cria o arquivo no local desejado mas não executa as funções, poderiam me ajudar por favor? :roll:

package questao1;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;



public class Question {
double sminimo;
double pkwh;
DecimalFormat somenteduas = new DecimalFormat("#,##0.00");
double[] pagcasa = new double[5];
int casas[] = new int[5];
double gastocasa[] = new double[5];
    /**
     * @param args the command line arguments
     */

public static void main (String args[]) {
    
        try{
            PrintWriter arquivoCriado = new PrintWriter(new FileWriter("C:/Users/Guastavo/Documents/NetBeansProjects/Questao 1/arquivo.txt"));
            
            arquivoCriado.println("1 10.5");
            arquivoCriado.println("2 5.8");
            arquivoCriado.println("3 6.7");
            arquivoCriado.println("4 12.1");
            arquivoCriado.println("5 3.0");

            arquivoCriado.close();
        }
        
        catch(Exception a){
            System.out.println(a.toString());
        }
    }
    private String[] gastocasas;

    public void lendoarquivo(String msg){
   
        try{
            BufferedReader lido = new BufferedReader(new FileReader("C:/Users/Guastavo/Documents/NetBeansProjects/Questao 1/arquivo.txt" ));
            for(int x=0 ; x<5; x++){
                StringTokenizer tokensSeparados = new StringTokenizer(lido.readLine());
                casas[x] = Integer.parseInt(tokensSeparados.nextToken());
                gastocasa[x] = Double.parseDouble(tokensSeparados.nextToken());
            }
        lido.close();
}
    catch(Exception a)
        {
      System.out.println(a.toString());
}
}
    
    public void salminimo(){
    InputStreamReader minimo = new InputStreamReader ( System.in );
    BufferedReader valorDigitado = new BufferedReader(minimo);
        JOptionPane.showInputDialog("Digite o nome completo: ");
        try{
            sminimo = Double.parseDouble( valorDigitado.readLine() );
        }
        catch(IOException a)
        {
            salminimo();
        }
}
    public void calcularPreçoKilowat(){
    pkwh = sminimo / 7;
    }
    public void gastos(){
    for (int x=0; x<5; x++)
    {
    pagcasa[x] = pagcasa[x] * pkwh;
    }    
    }
    public void mostrarPreçosGastos(){

    JOptionPane.showMessageDialog(null,"\nPreço do Salário Mínimo: " + somenteduas.format(sminimo));
    JOptionPane.showMessageDialog(null,"Preço do quilowatt de energia: " + somenteduas.format(pkwh) + "\n");
    for(int x=0 ; x<5; x++){
    JOptionPane.showMessageDialog(null,"Residência nº" + casas[x] + ": Gastou " + gastocasas[x] + " quilowatts. Deve: R$ " + somenteduas.format(pagcasa[x]) + " de energia elétrica.");
    }
    System.exit(0);
    }
}

4 Respostas

P

Boa noite amigo.

Olha só…eu não sei se é só esse ae o teu código, mas pelo q eu vi…as funcões (métodos) não são executados pq vc não chama nenhum deles. Se não chamar…ele não executa sozinho :slight_smile:

faça as chamadas dos métodos q rola…blz…

agraços

KillerInstinct

pode me explicar como faço isso, por favor. :?
Obrigado

blackfalcon
nomeDoObjeto.metodo();

ou

Classe.metodo();

Sendo esse ultimo para metodos static

Caso o metodo receba algum conteudo por argumento, é so fazer normal:

nomeDoObjeto.metodo(variavel);

Abraços

KillerInstinct

Deu certim agora!!
Pessoal muuuito obrigado pela ajuda!
Boa noite!!

Criado 23 de junho de 2008
Ultima resposta 23 de jun. de 2008
Respostas 4
Participantes 3