Thread

4 respostas
J

Bom dia,

Estou estutando Java,ao compilar a classe ContaTeste:
import java.lang.Math;

class Conta extends Thread
{
	double saldo = 50;
	int tempoDeSaque;
	static int posicao = 1;

	public Conta(String name)
	{
		super(name);
		tempoDeSaque = (int) (Math.random() * 10000);
	}

	public void saque(double valor)
	{
		if(this.saldo >= 50)
		{
			this.saldo = this.saldo - valor;
		}
		System.out.println("O saldo atual é: R$"+ saldo);
	}

	public void run()
	{
		try
		{
			Thread.sleep(tempoDeSaque);
			saque(double valor);
			System.out.println("Posição: "+ posicao +"Nome: "+ getName());
			posicao = posicao + 1;
		}
		catch(InterruptedException exception)
		{
			System.out.println(exception.toString());
		}
	}
}

public class ContaTeste
{
	public static void main(String[] args)
	{
		Conta conta1, conta2;
		conta1 = new Conta("Junio");
		conta2 = new Conta("Antenor");

		conta1.saque(10);
		conta2.saque(20);

		conta1.start();
		conta2.start();
	}
}
Apresenta o erro:
ContaTeste.java:29:';' expected
			saque(double valor);

Agradeço desde já,
Júnio César Silva

4 Respostas

T

tire o “double”

brunoccouto

o problema é com a palavra chave double dentro da chamada do método,
Tira a palavra “double”

Faz assim:

double valor = 5.0; saque(valor);
Vai funcionar perfeitamente…

Jauns
try
		{
			Thread.sleep(tempoDeSaque);
			saque(double valor);
			System.out.println("Posição: "+ posicao +"Nome: "+ getName());
			posicao = posicao + 1;
		}
		catch(InterruptedException exception)
		{
			System.out.println(exception.toString());
		}

saque(double valor);

crie a variável fora do método saque, e passe somente a variável valor dentro do método.

J

Muito obrigado a vocês, paz e saúde para todos.

Criado 5 de março de 2009
Ultima resposta 5 de mar. de 2009
Respostas 4
Participantes 4