Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - kingcreek

#1
Si es por el manejo de array vas bien, unicamente como te comentan calculas mal si un numero es primo o no, aun asi te dejo el arreglo del codigo.
He separado el calculo de numero primo en un metodo aparte para que veas como es, y cambiado la condicion del if.

Código (java) [Seleccionar]

import java.util.Scanner;
import java.util.Random;

    public class NumerosPrimos {
        public static void main(String[] args) {

            Random rnd = new Random();
            Scanner input = new Scanner(System.in);
            int num;

            System.out.println("Introduce longitud del array");
            num = input.nextInt();

            int[] numPrimo = new int[num];          //En este punto,la longitud del array es dado por la variable num.

            for (int i = 0; i < numPrimo.length; i++) {
                numPrimo[i] = rnd.nextInt(11);      //Genera numeros aleatorios entre 1 y 10
                if (!calcularSiEsPrimo(numPrimo[i])) {             //calcula si el numero es primo o no
                    System.out.println("La posicion [" + i + "] con el numero " + numPrimo[i] + " NO es un primo");
                }else {
                    System.out.println("La posicion [" + i + "] con el numero " + numPrimo[i] + " es primo");
                }
            }
        }
         
         
          static boolean calcularSiEsPrimo(int n) {
            if(n==2) return true; //si es dos, directamente retorna true, ya que 2 es numero primo
            if (n%2==0) return false; //se comprueba si es multiplo de dos
            for(int i=3;i*i<=n;i+=2) { // de no serlo, se comprueba si es divisible entre un numero impar
              if(n%i==0) { return false; }// si no es primo, devuelve false
            }
            return true; // y si lo es, devuelve true
          }
    }
#2
Como ha comentado miltonprogramador, si dejas un ejemplo practico del cual viene tu duda podriamos darte una axplicacion.  Ya que por ejemplo:
Código (java) [Seleccionar]
A a = new A();
C c = a.getB().getC();

No es posible si declaras una funcion que retorne un objeto tipo String como en el siguiente ejemplo que dare.
Cuando llamas a la clase A, esta retorna un valor de la clase B con getB(), pero no puedes llamar a getC() ya que esa clase no contiene ningun metodo llamado de tal manera, ni mucho menos llamarlos de manera seguida.
Todo esto suponiendo que tengas algo asi:
Código (java) [Seleccionar]

class Ideone
{
public static void main (String[] args)
{
A a = new A();
B b = new B();
        System.out.print(a.getB() + b.getC());
}
}

class A {

        public String getB() {
        B b = new B();
        return b.B;
    }
}

class B {

    public String B = "B";
    public String getC() {
        C c = new C();
        return c.C;
    }
}

class C {

    public String C = "C";
}

Eso sigue el esquema que tu has dicho, A retorna el valor de B, y B el de C, pero como digo, no puedes llamar ahi a A y retornar el valor de C, para ello has de hacer como has puesto en el primer ejemplo que has dado.
Otra alternativa es la herencia, para hacer uso de atributos y metodos de la clase heredada.
#3
Bases de Datos / Re: 260mb.net soporta MYSQL y PHP?
19 Diciembre 2016, 07:48 AM
Basta con leer la pagina principal de dicha web "Usted puede registrarse aquí para obtener un gratuito y rápido PHP & MySQL hosting incluído subdominios"
#4
Java / Re: Ayuda cargar ComboBox JavaFX FXML
16 Diciembre 2016, 22:10 PM
Si puedes poner el log completo se podria itentificar mejor el problema, InvocationTargetException puede ser lanzado por muchas causas como pasar un parametro null, si imprimes por pantalla los paises en vez de cargarlos en el comboBox podrias ver si estan pasando correctamente o si el error es que no obtiene el nombre de la DB. El log completo deberia dar la pista de lo que esta ocurriendo.
#5
Manera de hacerlo son muchas, pero si no he entendido mal lo que quieres hacer (creo que solo almacenar valores), yo optaria por getter y setter en una clase nueva para mayor facilidad y comodidad a la hora de necesitar una variable que puedas llegar a usar en otro lugar.
Código (java) [Seleccionar]

public Class Sesion
{
        private String numero;

        public String getNumero()
        {
                return numero;
        }
        public void setNumero(String numero)
        {
                this.numero= numero;
        }
}


Para acceder a los datos o almacenarlos:
Código (java) [Seleccionar]

Sesion sesion = new Sesion();
//almacenar el valor
sesion .setNumero(20);

//obtener el valor
int numero = sesion.getNumero());
#6
Java / Re: Ayuda cargar ComboBox JavaFX FXML
16 Diciembre 2016, 01:03 AM
Para ver la excepcion mejor, mete el codigo de loadCmb() dentro de un try / catch para poder ver mejor donde falla.
Código (java) [Seleccionar]

private void loadCmb(){//este metodo carga el combobox con los datos devueltos de la base de datos
        try {
                 RepoPais repo = FabricaReposSQL.CrearRepoPais();
                 Iterable<Pais> p = repo.FindAll();
                 for (Pais pais : p) {
                       CmbCountry.getItems().add(pais.Nombre);
                 }
             } catch (InvocationTargetException e) {
                 e.getCause().printStackTrace();
             }
       
    }



Tambien prueba a eliminar la linea donde agregas los datos al combobox, y ves si el error lo tienes ahi.
#7
Java / Re: Ayuda cargar ComboBox JavaFX FXML
15 Diciembre 2016, 10:18 AM
Tal vez diste mucho de la solucion, pues como he dicho en un post anterior no he trabajado con FXML, pero si el error te lo da al llenar el combobox lo que se me ocurre es aqui:
Código (java) [Seleccionar]
CmbCountry.getItems().add(pais.Nombre);

getItems().add() creo que lleva 2 argumentos, 1 es la posicion y 2 el valor. Prueba reemplazandolo de esta manera:
Código (java) [Seleccionar]

CmbCountry.getItems().addAll(pais.Nombre);

//o este en su defecto

CmbCountry.add(pais.Nombre);


Si estoy equivocado no dudes en decirlo para revisarlo, un saludo
#8
Java / Re: Ayuda JavaFX FXML
15 Diciembre 2016, 04:15 AM
No he trabajado FXML pero prueba el siguiente esquema:
Login, presiona en registrar, llamas a la ventana de registrar con .show() y usas .hide() en la ventana de login.
Despues del registro, llamas a .close() en la ventana de registro y .show() a la de login.

Respecto a tu segunda duda, no sabria decirte, deberia descargarme el compilador y verlo.
#9
Java / Re: Arbol binario
13 Diciembre 2016, 23:40 PM
Comparas ambos con el de la izquierda

Código (java) [Seleccionar]

if(tree.hasLeft(w) && w.element().compareTo(tree.left(w).element())>0)

// compareTo(tree.left(w)
#10
Java / Re: Ayuda con ComboBox
13 Diciembre 2016, 23:16 PM
El unico error que veo es que aplicas mal el foreach pasando como argumento el iterable en vez de la variable

Código (java) [Seleccionar]
for (Pais pais : p) {

Donde "pais" es la variable a usar y "p" es el argumento
Por lo tanto cambiando de esta manera deberia de mostrar los paises correctamente:

Código (java) [Seleccionar]

@SuppressWarnings("unused")
public void loadCmb(){
RepoPais repo = FabricaReposSQL.CrearRepoPais();
Iterable<Pais> p = repo.FindAll();
for (Pais pais : p) {
CmbCountry.addItem(pais.Nombre.toString());
}
}