Foros del Web » Programación para mayores de 30 ;) » Java »

problemas en java

Estas en el tema de problemas en java en el foro de Java en Foros del Web. Hola buenas soy estudiante de java y se me han planteado dos problemas que realmente no me salen y llevo ya dandole muchas vueltas a ...
  #1 (permalink)  
Antiguo 06/11/2013, 07:21
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 11 años, 5 meses
Puntos: 1
problemas en java

Hola buenas soy estudiante de java y se me han planteado dos problemas que realmente no me salen y llevo ya dandole muchas vueltas a la cabeza si me pudierais ayudar os lo agradecería.
Os cuento:
Estos son los problemas:
31)Mostar el primer número primo a partir del 30.
32)Introduce una cantidad de dinero en euros menor que 100, indica la forma de
pagar es dinero con el menor número de billetes y monedas.

Con el 31 parece que hay que usar dos for y que cuando uno sea primo salga del bucle pero no consiguo salir

Con el 32 se me ocurre de momento lo básico incluir variables para 1 euro 2 euros 5 euros etc...
y decir que si la cantidad es igual a 50 por ejemplo pagar con 50 pero lo dificil es cuando es por ejemplo 32 euros le tengo que decir que use uno de 20 uno de 10 y una moneda de 2.
Lo cual no se ni por donde agarrarlo

De momento es todo sin usar clases ni métodos a pelo en main asi que no usamos en clase eso de momento ruego que no me digais de usar clases y demás por que voy a acabar mas liado con las clases y tal que con el problema.

Un saludo
os paso los intentos de solucion a los que he llegado:

31
Código:
package ejercicios_refuerzo;

public class E_31_B_3 

{
	public static void main (String args[])
	{
	int suma;
	boolean contador=true;
	for (int f=30;;f++)
	{
		if (suma==0)
		{
		System.out.println(f);
		break;
		}
		for (int i=2;;i++)
		{
			suma=0;
			if (f%i==0)
			suma++;
			if (suma==1)
			break;
			}

	}

	}
}
32
Código:
package ejercicios_refuerzo;
import java.util.Scanner;
public class E_32_B_3 
{

	public static void main (String args[])
	{
		int num,uno=1,dos=2,cinco=5,diez=10,veinte=20,cincu=50,total=0;
		Scanner escribe= new Scanner(System.in);
		
		System.out.println("Escribe menor de 100");
		num=escribe.nextInt();
		
		if (num==50)
		System.out.println(cincu);
		if (num==5)
		System.out.println(cinco);
		if (num==10)
		System.out.println(diez);
		if (num==20)
		System.out.println(veinte);
		
		if (num<5)
		{
			for (int f=1;num>=f;f++)
			{
				total+=dos;
				if (total>5)
				{
				break;
				}
			}
			System.out.println(total);
		}
		if (num<10)
		{

		}
		
		}
	}
Un saludo gracias de antemano
  #2 (permalink)  
Antiguo 10/11/2013, 11:09
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: problemas en java

Hola aunque no me ha llegado ninguna sugerencia he descubierto la solución al problema 32.

Os la dejo al que le interese le eche un vistazo

Código:
package ejercicios_refuerzo;

import java.util.Scanner;

public class money 
{
	
	public static void main (String args[])
	{
		//declarar variables
		Scanner escribe=new Scanner(System.in);
		int num,suma=0;
		final int UNO=1,DOS=2,CINCO=5,DIEZ=10,VEINTE=20,CINCUENTA=50;
		
		//recoger variables
		System.out.println("escribe dinero");
		num=escribe.nextInt();
		
		//ejecutar acción
		
		while (num!=0)
		{
		suma=0;
			switch (num)
			{
			case 1: System.out.println(UNO); num=0; break;
			case 2: System.out.println(DOS); num=0; break;
			case 5: System.out.println(CINCO); num=0; break;
			case 10: System.out.println(DIEZ); num=0; break;
			case 20: System.out.println(VEINTE); num=0; break;
			case 50: System.out.println(CINCUENTA); num=0; break;
			
			default:
			
			if (num<5)
			{
			System.out.println("2");
			suma+=2;
			num-=suma;
			}
			else if (num<10)
			{
			System.out.println("5");
			suma+=5;
			num-=suma;
			}
			else if (num<20)
			{
			System.out.println("10");
			suma+=10;
			num-=suma;
			}
			else if (num<50)
			{
			System.out.println("20");
			suma+=20;
			num-=suma;
			}
			else if (num<100)
			{
			System.out.println("50");
			suma+=50;
			num-=suma;
			}
			
			}
			
			
		}
		
		
	}
	

}
  #3 (permalink)  
Antiguo 11/11/2013, 07:28
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: problemas en java

Esta es una posible forma de solucionar el 31... ahora queda que lo adaptes (pd. no lo he probado, así que trata de entenderlo y corregir cualquier fallito que haya)
(pd2: es mejorable)

public int CalculaSiguientePrimo(int numeroPartida) {

for (int comp=numeroPartida+1;comp>numeroPartida;comp++) {
boolean esPrimo == true;
for(int i = 2; i<comp; i++) {
if(comp%i==0) {
esPrimo = false;
break;
}
}
}
if (esPrimo) {
return comp;
}
}
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: clase, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:55.