Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Kigasu en 13 Septiembre 2007, 16:36 pm



Título: Ayuda string a float
Publicado por: Kigasu en 13 Septiembre 2007, 16:36 pm
BUeno soy medio nuevo con java y quisiera que me aclararan una duda.
EL asunto es que el profesor nos pidió ingresar 4 notas y sacar el promedio y decirle si aprueba o no....bueno entre eso nos dijo quedebíamos ingresarlos como flotantes... pero tengo entendido que al leer por telcado todo lo que entra es string...y dengo que hacer un parse para transformarlo a flotante.... ME pueden ayudar con el código decirme si voy bien..que de verdad hay cosas que no se si están bien puestas....

Código:

import java.io.*;
import java.util.*;

public class Alumno{

public static string LeerValor() throw IOException{
int valor = 0;

BUfferredReader bf = new BufferedReader(new InputStreamReader(System.in));
try{
valor = bf.readLine(); //se lee así el string?
                                                   //como debo manejarlo para ingresar un float?
}
catch(NumberFormatException e){
System.out.println("Error al ingresar el valor");
System.exit(1);
}return valor;
}



public void leernota(){
int i=0;
float nota = 0f; //está bien esto? o debo hacerlo como función

for(i=0;i<4;i++){
System.out.print(" Ingrese Nota "+i+" :");
nota=Alumno.LeerValor();
                        //aquí deberia poner como transformarlo a flotante ?
sum=sum + nota;
}
prom=sum/i;
}


public static void main(String argv[])throw IOException{
ALumno link = new Alumno();

link.leernota();
System.out.println("EL promedio es :"+link.nota());

}
}


GRacias, acepto criticas y correcciónes


Título: Re: Ayuda string a float
Publicado por: Ragnarok en 13 Septiembre 2007, 16:46 pm
Utiliza el constructor de Float con un string y el método floatValue para obtener un float en lugar de Float (si es lo que quieres) o directamente el método de clase parseFloat: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Float.html

Revisa aparte lo que son los tipos de datos porque lo que has hecho no compila.


Título: Re: Ayuda string a float
Publicado por: Kigasu en 13 Septiembre 2007, 16:52 pm
MM por eso dije que soy medio nuevo y no entendía lo que em trataste decir..leí un pooc eso como librería o constructor (no entiendo la diferencia :S )

No se si me puedes ayudar con algun tipo de ejemplo o diciendome si está muy mla el código..qyue debo cambiar? etc...me ayudaría eso y una pequeña explicación para entenderlo :S

Puede quedar algo así ?

Código:
iimport java.io.*;
import java.util.*;
import java.lang.float.*;

public class Alumno{

public static string LeerValor() throw IOException{
int valor = 0;

BUfferredReader bf = new BufferedReader(new InputStreamReader(System.in));
try{
valor = bf.readLine();

}
catch(NumberFormatException e){
System.out.println("Error al ingresar el valor");
System.exit(1);
}return valor;
}// cierra la clase readfloat



public void leernota(){
int i=0;
               float sum=0f;
String nota=" ";
for(i=0;i<4;i++){
System.out.print(" Ingrese Nota "+i+" :");
nota=Alumno.LeerValor();
parseFloat(String nota);
sum=sum + nota;
}
prom=sum/i;
}


public static void main(String argv[])throw IOException{
ALumno link = new Alumno();

link.leernota();
System.out.println("EL promedio es :"+link.nota());

}
}


Título: Re: Ayuda string a float
Publicado por: egyware en 13 Septiembre 2007, 18:39 pm
mmm
usa
Código:
String snota = "5.0";
Float nota = new Float(snota)
para capturar del teclado puedes usar
Código:
import java.util.*;
Scanner scan;
scan = new Scanner(System.in);
Float nota = scan.nextFloat();
bueno una pequeña ayuda pero debes recordar que la clase Scanner esta disponible en jdk5.0 asi que tienes un pequeño problema
espero que te haya sido de ayuda


Título: Re: Ayuda string a float
Publicado por: Ragnarok en 13 Septiembre 2007, 19:08 pm
Pongamos que tienes un string s con el número leído de donde sea y un float f, incluyendo las declaraciones sería así:

Código
  1. float f;
  2. [...]
  3. f = Float.parseFloat(s);

Y esto lo puedes hacer por lo menos desde java 1.4.2.

Si no sabes lo que es un constructor, etc. te aconsejo que dejes de intentar programar y leas un poco más, por lo menos hasta que comprendas los conceptos básicos, después será el momento de pasar a la práctica.