Olá! estou com um problema no newque esta dentro do parenteces com InputStreamReader. POdem me ajudar.
import java.io.BufferedReader;
import java.io.BufferedInputStream;
public class Salario {
static void main(String[] args) {
BufferedReader reader = new BufferedReader (new.InputStreamReader
(System.in) );
try {
System.out.println("valor salário");
String sal = reader.readLine();
double Salário = new Double (sal).doubleValue();
System.out.println ("deseja vale trans");
String op1 = reader.readLine();
double valtrans = new Double (op1).doubleValue();
System.out.println ("deseja plano saude");
String op2 = reader.readLine();
double plsaude = new Double (op2).doubleValue();
System.out.println("salario liquido:" );
salario = salario*0.89;
if (salario > 1342)
salario = salario * 0.85;
if (vltrans == 1 )
salario = salario * 0.92;
if (plsaude == 1)
salario = salario - 50;
}catch (exceptiom e) {
System.out.println("valor inválido" );
}
}
}
Opa,
Coloque as tags Code para deixar seu código mais fácil de ler.
Tem como colar o erro?
abraços
O problema é esse ponto antes do new.
[code][quote=Daniel.weissveja na linha comentada
import java.io.BufferedReader;
import java.io.BufferedInputStream;
public class Salario {
static void main(String[] args) {
BufferedReader reader = new BufferedReader (new.InputStreamReader(System.in));
//BufferedReader reader = new BufferedReader (new InputStreamReader(System.in)); seria isso :)
try {
System.out.println("valor salário");
String sal = reader.readLine();
double Salário = new Double (sal).doubleValue();
System.out.println ("deseja vale trans");
String op1 = reader.readLine();
double valtrans = new Double (op1).doubleValue();
System.out.println ("deseja plano saude");
String op2 = reader.readLine();
double plsaude = new Double (op2).doubleValue();
System.out.println("salario liquido:" );
salario = salario*0.89;
if (salario > 1342)
salario = salario * 0.85;
if (vltrans == 1 )
salario = salario * 0.92;
if (plsaude == 1)
salario = salario - 50;
}catch (exceptiom e) {
System.out.println("valor inválido" );
}
}
}[/quote]
[/code]
tem um . (ponto) perdido logo ali depois do “new” problematico
Só um comentário. Essa forma de leitura do System.in ficou ultrapassada no Java 5. Agora recomenda-se utilizar a classe Scanner:
[code]//Cria um scanner
Scanner in = new Scanner(System.in);
//Lê uma linha do teclado.
String texto = in.nextLine();[/code]
Note que o código fica consideralmente mais simples.
Além disso, você pode usar o método Double.parseDouble para fazer conversões:
double valor = Double.parseDouble(texto);
A forma que você está usando é um desperdício de tempo e recursos. Nela, você cria um objeto wrapper, que vai fazer o parseDouble. Depois, você obtém o valor no interior dessa classe, descartando o objeto criado. São 3 operações quando na verdade só te interessa uma delas.