Java - CONSULTA

 
Vista:

CONSULTA

Publicado por Laura (17 intervenciones) el 25/10/2013 20:00:47
Hola, soy estudiante de Telecomunicaciones. Me gustaría que me ayudarán sobre un codigo en el cual me piden lo siguiente:

Programar el código que dado un número entero introducido por teclado indique si es o no perfecto. Se debe de utilizar el ciclo do-while
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
sin imagen de perfil

CONSULTA

Publicado por Vicente (56 intervenciones) el 25/10/2013 20:02:03
Muy bien, ahora dinos tu duda.
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

CONSULTA

Publicado por Laura (17 intervenciones) el 25/10/2013 20:07:25
Mi duda es saber como se hace el codigo con un ciclo do-while con el siguiente enunciado: Programar el código que dado un número entero introducido por teclado indique si es o no perfecto. Se debe de utilizar el ciclo do-while
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
sin imagen de perfil

CONSULTA

Publicado por Vicente (56 intervenciones) el 25/10/2013 20:11:34
No me expresado bien, si se cual es el enunciado, me refiero a que me expongas tu duda concreta en tu código.
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

CONSULTA

Publicado por Laura (17 intervenciones) el 25/10/2013 20:14:08
Mi duda es el codigo en general, que no sé como se empezaría ni como seguir.
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
sin imagen de perfil

CONSULTA

Publicado por Vicente (56 intervenciones) el 25/10/2013 20:18:06
Lo siento, son foros de ayuda con problemas no de solución de enunciados. Comienza a hacerlo, es bastante simple, si no sabes hacer un ciclo do-while ni programar la entrada de numeros por teclado... estamos jodidos.

Intenta hacerlo, rascate la cabeza y cuando no puedas mas y vengas con tu codigo vemos cual es el problema y porqué no te ha funcionado.
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

CONSULTA

Publicado por Laura (17 intervenciones) el 25/10/2013 20:21:46
He realizado este código y me funciona introduciendo un numero por teclado. Pero al realizar el ciclo do-while le doy a ejecutar y no para

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public static void main(String[] args) {
 
		int num = Teclado.readInteger();
		int suma = 0;
		int i = 1;
 
		do {
			if(num % i == 0){
				suma = suma + i;
			}
 
			if (suma == num){
				System.out.println("El número es perfecto");
			}else {
				System.out.println("El número no es perfecto");
 
			}
 
 
		}
 
		while (num!=0);
	}
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
sin imagen de perfil

CONSULTA

Publicado por Vicente (56 intervenciones) el 25/10/2013 20:26:21
Haces la captura de teclado antes de entrar al do-while... por lo que si metes cualquier numero que no sea 0 entras en un bucle infinito del cual no puedes salir. Tienes que hacer la captura del numero dentro del bucle do-while así tu decides cuando acabas el programa, poniendo el numero de la condición.

Segundo, piensa que el numero perfecto no es sólo la división entre 1, y tu sólo realizas la división entre el numero 1.
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

CONSULTA

Publicado por Laura (17 intervenciones) el 25/10/2013 20:46:01
Muchas gracias, ya he conseguido arreglar mi codigo y funciona!!!! :)
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
sin imagen de perfil

CONSULTA

Publicado por Vicente (56 intervenciones) el 25/10/2013 21:06:15
Pegame el código si quieres y te lo reviso que funcione bien.
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

CONSULTA

Publicado por Laura (17 intervenciones) el 25/10/2013 21:09:59
Te voy a pegar otro que me trae loca, porque no sé porque me da error: ( el error me da en las condiciones del if y no sé porque)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
NumeroEntero n1 = new NumeroEntero(10);
        NumeroEntero n2 = new NumeroEntero(10);
 
        if (n1>n2)
        {
        	 System.out.println("N1-> "+n1);
             System.out.println("N1 es mayor que N2");
        }
        else {
        	if (n1<n2)
        	{
            System.out.println("N1 -> "+n1);
            System.out.println("N1 es menor que N2");
        }
        else
           System.out.println("N1 y N2 son iguales -> N1 ->"+n1+" N2 -> "+n2);
 
	}
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
sin imagen de perfil

CONSULTA

Publicado por Vicente (56 intervenciones) el 25/10/2013 21:15:05
Pegame bien todo el proyecto, las clases que usas.
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

CONSULTA

Publicado por Laura (17 intervenciones) el 25/10/2013 21:16:30
Uso la clase que te he mandado y esta otra:

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
public class NumeroEntero {
 
	/**
	 * Valor del número	
	 *   
	 */
	private int _valor;
 
 
	/**
	 * Constructor de la clase. Crea un número con el valor recibido
	 * 
	 * @param valor
	 *            valor del número 
	 * 
	 */
	public NumeroEntero(int valor){
		this._valor = valor;
	}
 
 
	/**
	 * Constructor de la clase. Crea un número con el valor 0
	 * 
	 */
	public NumeroEntero(){
		_valor = 0;
	}
 
 
	/**
	 * Modifica el valor del número
	 * 
	 * @return  
	 * 		Valor del número
	 */
	void setValor(int nuevoValor) {
		_valor = nuevoValor;
	}
 
	/**
	 * Retorna el valor del número
	 * 
	 * @return  
	 * 		Valor del número
	 */
	int getValor(){
		return _valor;
	}
 
	/**
	 * Incrementa en 1 el valor del número
	 * 
	 */
	void incrementar(){
		if ( _valor < Integer.MAX_VALUE ) _valor = _valor + 1;
	}
 
	/**
	 * Decrementa en 1 el valor del número
	 * 
	 */
	void decrementar(){
		if ( _valor > Integer.MIN_VALUE ) _valor = _valor - 1;
	}
 
	/**
	 * Pone a 0 el valor del número
	 * 
	 */
	void poneraCero(){
		_valor = 0;
	}
 
	/**
	 * Suma el número entero con otro
	 *  
	 * @parame n  
	 * 		Número con el que se suma
	 * @return  
	 * 		Objeto de tipo NumeroEntero cuyo valor es la suma
	 */
	NumeroEntero suma(NumeroEntero n)
	{
 
		NumeroEntero suma=new NumeroEntero(_valor+n.getValor());
		return suma;
	}
 
 
	public String toString() {
		StringBuffer salida = new StringBuffer();
 
		salida.append(_valor);
 
		return salida.toString();
 
	}
 
 
	 /* -- Inicio modificacion del ejercicio10 Apartado01.
	 * boolean equals(NumeroEntero n){
	 *	  
	 * }
	 * 
	 * -- Fin modificacion del ejercicio10 Apartado01
	 */
 
 
 
	/* -- Inicio modificacion del ejercicio03 Apartado02.
	 * int compareTo(NumeroEntero n){
	 * 
	 * 
	 * }
	 * -- Fin modificacion del ejercicio03 Apartado02.
	 */
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
sin imagen de perfil

CONSULTA

Publicado por Vicente (56 intervenciones) el 25/10/2013 21:25:15
Te comento... tu estas creando un objeto en el main supongo, de otra clase que tienes. Pero a tus dos objetos n1 y n2 no les estas dando el valor 10, ese valor se lo estas dando a tu variable _valor dentro de la clase NumeroEntero.

Es decir, no puedes comparar objetos con <>, deberias crearte dos variables y entonces comparar esas variables. Algo así:

NumeroEntero n1 = new NumeroEntero(10);
NumeroEntero n2 = new NumeroEntero(10);

int numero1, numero2;

numero1 = n1.getValor();
numero2 = n2.getValor();

if (numero1>numero2)
{
System.out.println("N1-> "+n1);
System.out.println("N1 es mayor que N2");
}
else {
if (numero1 <numero2)
{
System.out.println("N1 -> "+n1);
System.out.println("N1 es menor que N2");
}
else
System.out.println("N1 y N2 son iguales -> N1 ->"+n1+" N2 -> "+n2);


}
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

CONSULTA

Publicado por Laura (17 intervenciones) el 27/10/2013 17:42:34
Hola , me gustaria saber como comparar un número infinito de cadenas. 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

CONSULTA

Publicado por Laura (17 intervenciones) el 28/10/2013 13:56:06
Hola, me gustaria saber porque este codigo me da estos resultados

boolean a = true;
boolean b = false;
int n1=5, n2=8;

if ((!a && b) || !(n2>n1))
System.out.println("Resultado 1");

if ((!a || b) || !(n1>n2))
System.out.println("Resultado 2");

if ((n1>=n2) && (a || b))
System.out.println("Resultado 3");

System.out.println("Fin del ejercicio04");

Los resultados obtenidos son :
Resultado 2
Fin del ejercicio04
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
sin imagen de perfil

CONSULTA

Publicado por Vicente (56 intervenciones) el 28/10/2013 18:45:18
Muy sencillo:
- El primer if no cumple ninguna de las opciones... por lo que no imprime
- El segundo if cumple la segunda opción... imprime
- El tercer if no cumple las 2 opciones... no imprime nada tampoco


Resultado... la impresión del segundo if.
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

CONSULTA

Publicado por Laura (17 intervenciones) el 29/10/2013 20:34:51
Hola necesito realizar un código en java que me muestre el siguiente resultado, hay que realizarlo con arrays unidimensionales ,inicializadores y sentencias de repetición:

Apuesta:
[ 0][ 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]

PD: Ando un poco perdida con los arrays, si sabes alguna fuente de información sobre arrays que este bien con ejemplos y tal te agradeceria mucho que la pusieras.
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

DUDA URGENTE!!!!

Publicado por EDU (17 intervenciones) el 10/11/2013 17:24:54
Hola buenas, tengo este código y lo he metido en una clase, para ejecutarlo lo que hago es desde otra clase llamar a esta clase. Lo que pasa es que tengo que imprimir finalmente solo los nombre sin los número de telefono pero no sé como hacerlo para que introduciendo los numeros de telefono luego no salgan.
public static void matriz(){

String matriz[][] = {{"[Luis, 629674532]" ,""} ,
{"","[Pepe, 913778800]" } };


for (int x=0; x < matriz.length; x++) {

for (int y=0; y < matriz[x].length; y++) {



System.out.print (matriz[x][y]);

if (y!=matriz[x].length-1) System.out.print("\t");
}
System.out.println(" ");
}
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

ARRAYS BIDIMENSIONALES

Publicado por Pedro (17 intervenciones) el 05/11/2013 17:54:14
Buenas tardes, yo creo una matriz en java y luego me gustaria hacer modificaciones dentro de la matriz pero no sé como hacerlas para luego asignar la posicion de cada elemento. Algun libro, web, explicacion que me pueda sevir? 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

CONSULTA

Publicado por Alvaro (2 intervenciones) el 28/10/2013 20:16:36
CODIGO:
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
int numero;
		int numeroUsuario=0;
		int intentos=0;
		int intentar=0;
		numero = (int)(Math.random()*100+1);
 
      do {
 
		if ((numero !=numeroUsuario)&&(intentos <=5)){
 
			for (intentos = 1; intentos <=5;intentos ++){
 
				System.out.println("Escriba un número entre el 1 y el 100");
				numero = Teclado.readInteger();
				if (numero < numeroUsuario){
					System.out.println("El número introducido es mayor que el buscado");
				}
				if (numero > numeroUsuario){
					System.out.println("El número introducido es menor que el buscado");
 
				}
				if ( numero == numeroUsuario){
					System.out.println("¡ HAS ACERTADO ! ");
				}
				if ((numero !=numeroUsuario) && (intentos ==5)){
					System.out.println("¡ HAS PERDIDO !");
			}
			}
			System.out.println("¿Desea volver a jugar? En caso afirmativo escriba 1");
		     intentar = Teclado.readInteger();
 
			}
      }while (intentar==1);
 
 
		}
}

----------------------------------------------------------------------------------------------------------------------------
Hola .Tras acabar el proceso necesito que me vuelva a preguntar si deseo jugar, al marcar 1 que me vuelva a crear otro número y pueda volver a jugar. De momento lo que he conseguido es que al acabar y no acertar me pregunte si quiero volver a jugar . Sin embargo me sale todo el rato "¿Desea volver a jugar? independientemente del número que ponga. Si pudieses ayudarme estaría muy agradecido.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
sin imagen de perfil

CONSULTA

Publicado por Vicente (56 intervenciones) el 28/10/2013 22:27:10
Este es un post de otra persona, cuando quieras hacer dudas abre un nuevo hilo sin miedo y te serán solucionadas sin problema. Igualmente ya te mirado tu código y detectado el error.

Tu problema es que efectivamente la primera partida funciona genial, pero cuando llegas al final y pierdes y te pregunta si deseas jugar y le das al 1 tus intentos no los pones a 0... por lo cual estan los de la partida anterior y al if no vuelves a entrar.

Te basta con nada mas entrar al do poner los intentos a 0.

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
public static void main(String[] args)
    {
        Scanner Teclado = new Scanner(System.in);
	int numero;
        int numeroUsuario=0;
        int intentos=0;
        int intentar=0;
        numero = (int)(Math.random()*100+1);
 
      do {
          intentos = 0;
		if ((numero !=numeroUsuario)&&(intentos <=5)){
 
			for (intentos = 1; intentos <=5;intentos ++)
                        {
 
                            System.out.println("Escriba un número entre el 1 y el 100");
                            numero = Teclado.nextInt();
                            if (numero < numeroUsuario)
                            {
                                System.out.println("El número introducido es mayor que el buscado");
                            }
                            if (numero > numeroUsuario)
                            {
                                System.out.println("El número introducido es menor que el buscado");
 
                            }
                            if ( numero == numeroUsuario)
                            {
                                System.out.println("¡ HAS ACERTADO ! ");
                            }
                            if ((numero !=numeroUsuario) && (intentos ==5))
                            {
                                System.out.println("¡ HAS PERDIDO !");
                            }
			}
                            System.out.println("¿Desea volver a jugar? En caso afirmativo escriba 1");
                            intentar = Teclado.nextInt();
 
			}
      }while (intentar==1);
 
 
    }
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

CONSULTA

Publicado por alvaro (2 intervenciones) el 29/10/2013 00:35:32
Muchisimas gracias ya entendi mi error :) . Explicacion perfecta
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