CLASE SCANNER GENERA ERROR EN TIEMPO DE EJECUCION EN VISTA

HOLA, HICE UN PROGRAMA QUE MANEJA FLOTANTES Y FUNCIONA BIEN EN XP, PERO AL EJECUTARLO EN VISTA MARCA UN ERROR,
SI ALGUIEN PUEDE DECIRME PORQUE? Y COMO SOLUCIONARLO SE LO AGRADECERIA,
ME LLAMA LA ATENCION PORQUE VA EN CONTRA DE LA PORTABILIDAD QUE ES UNA DE LAS CRACTERISTICAS DE JAVA
LA VERSION QUE USO ES JDK1.6.0
les envio el error que marca como archivo adjunto

gracias X su cooperacion.............

saludos .............

el programa es el siguiente:
_________________________________________________________________________________________________________________________________________

/**
*@autor didier m.v.
*@version tecnologico
*@programa que calcula el promedio de dos numeros

*/
import java.util.Scanner;
import java.io.IOException;
import java.io.*;
import java.lang.*;

class Promediar{

public Promediar(){}
float promedio=0;

public float promedia(float x){

promedio=promedio+x;
return promedio;
}}

public class Comprobante
{
public static void main(String[ ] args) throws IOException

{

float x=0 ;

float promedio2=0;
int res=0;
Promediar n;
n=new Promediar();
System.out.println("introduce o para continuar y 1 para termianr:-->");

do{
System.out.println("introduce monto:-->");

Scanner didi=new Scanner(System.in);
x=didi.nextFloat();
promedio2=n.promedia(x);
System.out.println("dese cont?:-->");

Scanner didier=new Scanner(System.in);
res=didier.nextInt();

}while (res !=1);

System.out.println("el promedio es:---->" + promedio2 );

}}

AdjuntoTamaño
error Scanner.png39.03 KB

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de JaimeItlzc

Ami no me sale

Ami no me sale ninguna exception de ese tipo y lo use en Windows vista.
Al contrario si le pongo una letra desde consola me genera esa exception pero pienso que te deberias de poner a checar.
Y no tiene que ver nada con la portabilidad.

Scanner no es la unica manera de leer de consola.
Saludos.

AUN SIN RESOLVER

Estoy de acuerdo contigo, claro que hay otras formas de introducir datos desd consola, (flujos), pero me parecio interesante el error y yo tampoco creo que tenga que ver c la portabilidad, quizás sea la conf. de mi teclado. me queda la duda porque pasa solo con flotantes, y eso no pasa en otras pcs. X cierto cual es la instruccion usando BufferedReader para leer flotantes? gracias...........
saludfos.-

gracias saludos

Imagen de ezamudio

Locale

Qué error te sale? no lo indicas, ni pones stack trace ni nada. Pero es común en estos casos que la bronca sea por configuración internacional, no por sistema operativo. Si tecleas 5.5 en una PC configurada para que el punto sea el separador decimal, funciona bien, pero si lo haces en una PC que espera coma para separador decimal, seguramente sale un error.

CORRECTel error era el separador

así es el error era el separador, esperaba un acoma en lugar de un punto.
si envié la imagen del error que arroja el compilador.

gracias por resolver mi duda...

saludos...........

Imagen de ezamudio

error

No es error de compilador, puesto que ya estás ejecutando el programa, lo cual significa que compiló bien. Es error en tiempo de ejecución. Sólo aclaro, porque también es importante entender bien los conceptos, no solamente "gracias por sacarme de la bronca ya no importa".

So Sorry

ok, excepcion debí decir. ya imaginaba que era error en tiempo de ejecución. (runtime). gracia por su comentario y pondré más atención en la terminología.

saludos.................