Java - Nuevo programando y con errores

   
Vista:

Nuevo programando y con errores

Publicado por mathias (9 intervenciones) el 26/04/2015 05:42:22
asd
Miren empece ace poco a programar y ando en lo basico pero no en el "hola mundo" xD ... estoy adelantandome a lo que me esta enceñando el profesor mio por que la verdad esto me encanta . estuve haciendo muchos java que sumen, dividan, multipliquen, calculen horas de entrada y salida y su promerio , promedios , cosas medias basicas , pero tengo un problema con el "double" solo quiero poder ingresar un numero desimal ( con coma) pero no me lo acepta . directamente me salta el error y no me deja . si pueden diganmen en que sentencia me equivoque o que otra cosa ice mal . desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alberto

Nuevo programando y con errores

Publicado por Alberto (238 intervenciones) el 26/04/2015 07:09:03
Hola...

Antes que nada bienvenido al mundo de la programación al Java, excelente que tomes la iniciativa de aprender por tu cuenta, te digo con toda certeza que aprenderás mas por tu cuenta.

Pasando a tu problema, te hago un planteamiento y estoy seguro que con ello entenderás el error... Declaras una variable double con el fin de aceptar números decimales, sin embargo, cuando recuperas el elemento mediante el Scanner, recuperas un valor entero; nextInt(), cuando deberías pasar un valor del mismo tipo de variable, nextDouble().

Espero haberte hecho reflexionar amigo.

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Nuevo programando y con errores

Publicado por mathias (9 intervenciones) el 27/04/2015 02:09:43
Gracias ahora comprendi mi error . y sin duda aprendere mas de mi cuenta que de lo que me puedan enseñar . probablemente dentro de unos dias pregunte denuevo algo para ir lo que pueda mas adelante de lo que me van enseñando ademas de que ire a un club echo por los mismos estudiantes en mi instituto para dudas o aprender mas . gracias por el respeto y "sabiduria" . saludos desde uruguay
Y una cosa mas . como hago para que me deje ingresar un dato con coma ( 5.5 ) en la consola . por que solo se ingresar enteros y quiero aprender eso tambien. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

Nuevo programando y con errores

Publicado por Alberto (238 intervenciones) el 27/04/2015 02:43:58
Hola...

Disculpa no entendí bien tu pregunta con respecto a lo de coma, ya que puedes ingresar números tanto enteros como decimales por consola...

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Nuevo programando y con errores

Publicado por mathias (9 intervenciones) el 27/04/2015 20:01:33
mira . yo quiero acer tipo un promedio de algo . y quiero ingresar un numero con coma (Ej: 5.6) pero no puedo .
Consola:
Ingrese un numero:
5.5
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at Practicando9.main(Practicando9.java:9)

esto es lo que me pasa . no se si es que tengo que cambiar algo en el Scanner o algo parecido sino pasame una foto aci sigo esos pasos . gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

Nuevo programando y con errores

Publicado por Alberto (238 intervenciones) el 27/04/2015 21:42:08
Hola...

El signo de separador decimal depende del país donde te encuentres, podemos decir que por defecto el separador para Java es el punto (.) (Me pregunto si el que haya nacido en Estados Unidos tiene que ver xD), por lo tanto necesitamos la forma de decirle a Java que el lenguaje que utilizaremos sera uno diferente, te proporciono un ejemplo sencillo...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.ejercicio.main;
 
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;
import java.util.Scanner;
 
public class EjercicioActualMain {
	public static void main(String[] args) throws ParseException {
		String a, b;
		Scanner scaner = new Scanner(System.in);
		System.out.print("Ingrese un numero DECIMAL: ");
		a = scaner.next();
		System.out.print("Ingrese otro numero DECIMAL: ");
		b = scaner.next();
 
		NumberFormat format = NumberFormat.getInstance(Locale.FRANCE);
	    Number number1 = format.parse(a);
	    Number number2 = format.parse(b);
 
	    double c = number1.doubleValue() + number2.doubleValue();
 
	    System.out.println("Resultado: " + c);
	}
}

Te explico... Recuperamos los valores tal y como lo vienes haciendo hasta el momento, sin embargo, date cuenta que lo que recupero no es un double sino un String para que podamos ingresar el valor, la magia de este asunto viene después de que ingresamos los valores ya que hacemos uso de la clase NumberFormat para decirle a Java que la instancia que va a recuperar va a ser una clase Locale de la categoría FRANCE, de esta manera nosotros le decimos a Java que el lenguaje a usar para nuestras operaciones no será el que viene por defecto. Posteriormente, la clase Number nos permite almacenar un número sin especificar un tipo ya que mediante su método parse() que podemos ver en el código, nosotros le estamos diciendo que el valor que recibirá corresponde a un numero decimal en formato Frances, posteriormente solo es cuestión de almacenar ese numero en una variable correspondiente al tipo double y conseguir los numeros corrspondientes al tipo doubleValue(). Finalmente imprimimos en pantalla la suma.

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Nuevo programando y con errores

Publicado por mathias (9 intervenciones) el 29/04/2015 00:57:41
Sin-titulo
Mira deduje como utilizar el do while y el while . pero mira la foto que te paso . tiene un error al finar . osea cuanto termina el do while pero no se por que me da ese error . bueno sigo aprendiendo gracias por contestarme siempre encerio . si luego puedes pasarme algun dato tuyo ( no es acoso XD ) solo por que si algun dia se que me olvidare de algo o me surguira duda poder contactar con tigo almenos por un lugar mas directo . pero no me quejo de este foro espectacularmente pensado para los que presisan ayuda y mas . ( lo que intente hacer en la foto fue hacer que el dato que ingrese esa persona se repita 10 veces . si hay alguna forma para resumir mas eso decime ) Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

Nuevo programando y con errores

Publicado por Alberto zhapyro_5@hotmail.com (238 intervenciones) el 29/04/2015 06:53:12
Hola...

A continuación te realizo algunas observaciones...

1.- Primeramente, si tu objetivo es imprimir el resultado que ingresas por consola un total de 10 veces, entonces veo algo extremista usar un do-while o while, ya que con un simple for el cual tenga como limite el numero 10 bastaría para obtener el resultado que necesitas. Podemos decir que tanto el do-while como el while son ciclos que permiten realizar una repetición mientras exista una condición, la diferencia entre ambos radica en que el primero se va a ejecutar por lo menos una vez, mientras que el segundo puede no ejecutarse nunca, entonces, te preguntaras... ¿Por que se adapta mejor el ciclo for?... En este caso tu necesitas imprimir el valor un determinado numero de veces, y la esencia de este ciclo es precisamente esa. No necesitas condicionar el valor que ingresas únicamente tienes como meta imprimirlo 10 veces.

1
2
3
4
5
6
7
Scanner scan = new Scanner(System.in);
System.out.print("Ingrese un numero: ");
int num = scan.nextInt();
System.out.println();
for(int i = 0; i < 10; i++){
	System.out.println("Dato: " + num);
}

2.- La sintaxis del do-while que mencionas en tu código es incorrecta, por eso mismo te hace referencia a ese error, la sintaxis correcta de este ciclo es la siguiente...

1
2
3
4
5
6
7
8
9
Scanner scan = new Scanner(System.in);
System.out.print("Ingrese un numero: ");
int num = scan.nextInt();
System.out.println();
int i = 0;
do{
	System.out.println("Dato: " + num);
	i++;
} while(i < 10);

Como podrás ver la palabra reservada do se encuentra al principio seguidamente de sus respectivas llaves, la llave que cierra a esta palabra viene seguidamente de la palabra reservada while(), donde se especifica la acción a seguir.

3.- La sintaxis correspondiente al ciclo while es la siguiente...

1
2
3
4
5
6
7
8
9
Scanner scan = new Scanner(System.in);
System.out.print("Ingrese un numero: ");
int num = scan.nextInt();
System.out.println();
int i = 0;
while(i < 10){
	System.out.println("Dato: " + num);
	i++;
}

Podemos ver que su gramática es muy parecida a una condicional (if), sin embargo, la diferencia radica en que no saldrá de ese ciclo mientras la condición se cumpla.

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!

P.D. Puedes agregarme por Skype mediante mi correo electrónico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Nuevo programando y con errores

Publicado por mathias (9 intervenciones) el 29/04/2015 15:21:40
Sos como el genio de la lampara . respuestas para todo . xD . gracias encerio . saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Nuevo programando y con errores

Publicado por mathias (9 intervenciones) el 29/04/2015 16:25:28
Ya ice todo lo posible y que imagine con el for . do while y while , pero me surgio otra duda . intente acer esto . pero no se me ocurrio forma de poder resumirlo mas . si puedes ayudarme con una foto de esto mas resumido o si no se puede gracias igual . se agradese todo su apoyo , paciencia y respeto ante todo
asdasdsafge
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio Cesar

Nuevo programando y con errores

Publicado por Julio Cesar (30 intervenciones) el 29/04/2015 16:50:11
hola, aqui tienes un ejemplo sumando los 10 numeros entrados

1
2
3
4
5
6
7
8
9
10
11
12
13
Scanner in = new Scanner(System.in);
int i=0;
int num = 0;
int multip = 0;
 
do{
 
    System.out.println("Ingrese un numero ");
    num = num + in.nextInt();
    i++;
 
}while(i<10);
System.out.println(num);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Nuevo programando y con errores

Publicado por mathias (9 intervenciones) el 03/05/2015 02:42:05
Hola . una cuestion . mira ultimamente e intentado hacer esto: quiero que me expliquen y pongan un ejemplo sobre somo hacer para poner enbes de que ingrese un numero una letra y tambien como hacer para definir una variable del 1 al dies ( ej : a = 1 a 10 . ) eso . gracias y saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

Nuevo programando y con errores

Publicado por Alberto zhapyro_5@hotmail.com (238 intervenciones) el 03/05/2015 05:01:33
Hola...

No entendí bien tu planteamiento ^^!!...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio Cesar

Nuevo programando y con errores

Publicado por Julio Cesar (30 intervenciones) el 04/05/2015 15:27:52
hola, para capturar una letra y no un numero es de esta forma
Scanner in = new Scanner(System.in);
String letra = in.next();//coge una cadena hasta el primer espacio
String letra1 = in.nextLine();//coge toda una linea

para definir que el valor de una variable va de 1 a 10 lo que uso siempre es un for();
int a=0;
for(int i =0; i < 10; i++){
a = i;
}
no se si es eso lo que buscas, no entendi nuy bien esa parte!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Nuevo programando y con errores

Publicado por mathias (9 intervenciones) el 29/05/2015 15:36:05
Hola denuevo tanto tiempo . ya luego de un tiempo aprendiendo de internet me surgio un enigma dificil y que en distintas paginas web no comprendo . como crear ventana . osea una ventana que solo tenga un marco y un lugar donde ingresar un dato . lo mas simple . y luego irla complicando . saludos gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio Cesar

Nuevo programando y con errores

Publicado por Julio Cesar (30 intervenciones) el 29/05/2015 21:01:07
hola aqui tienes unn ejemplo de una ventana, te pide que introduzca tu nombre, cuando le das al boton ok te sale otra ventana con un mensaje

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
 
public class Ventana extends JFrame {
 
	JPanel panel;
	JLabel label;
	JTextField texto;
	JButton ok;
 
	/**
	 * @param args
	 */
 
	public Ventana() {
 
		setTitle("Ventana");
		setDefaultCloseOperation(EXIT_ON_CLOSE);
 
		setLayout(new BorderLayout());
 
		panel = new JPanel();
		panel.setLayout(null);
		setContentPane(panel);
 
		label = new JLabel();
		label.setText("Escriba su nombre:");
		label.setBounds(10, 20, 250, 30);
		panel.add(label);
 
		texto = new JTextField();
		texto.setBounds(130, 20, 150, 30);
		panel.add(texto);
 
		ok = new JButton("OK");
		ok.setBounds(300, 20, 70, 30);
		ok.addActionListener(new ActionListener() {
 
			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				JOptionPane.showMessageDialog(null, "Hola usted se llama "+texto.getText());
				texto.setText("");
			}
		});
		panel.add(ok);
	}
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		EventQueue.invokeLater(new Runnable() {
 
			@Override
			public void run() {
				// TODO Auto-generated method stub
				Ventana frame = new Ventana();
				frame.setSize(500, 150);
				frame.setLocationRelativeTo(null);
 
				frame.setVisible(true);
			}
		});
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Nuevo programando y con errores

Publicado por mathias (9 intervenciones) el 30/05/2015 18:46:12
Sin-titulo
.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio Cesar

Nuevo programando y con errores

Publicado por Julio Cesar (30 intervenciones) el 01/06/2015 15:55:36
hola, tengo la conexión pésima, pero dio para ver la imagen, esos errores son porque estas usando otra libreria, si te fijas estas usando JRE System Library [OS........1.2], la que use fue JRE Syst........[JavaSE-1.6], verifica que versión del JDK tienes instalado....debes tener el JDK 1.6 o superior...espero que con esto te sirva...Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar