Jump to content

[Resolvido]Varias classes num package


Recommended Posts

Posted (edited)

Boas a todos, já fiz o programa em Java e está a correr tudo como é pedido. Mas agora tem de pôr em várias classes para o main não ficar muito grande, gostaria de saber tendo no ficheiro a.java a variavel double chocolate; como a posso ir "buscar/chamar" essa variavel para o b.java ?

Já sei que terei de fazer algo deste genero para o ficheiro na main

a method = new a();
Edited by davide92
Posted

Se o método que queres chamar for estático, não precisas criar uma instância do objecto.

Basta fazer a.<nome_do_metodo> (sem os <>).

Se for um método de instância, então terás de criar uma instância do objecto.

Pegando no que tu tens -> a method = new a();

Fazes method.<nome_do_metodo> (sem os <>).

Acho que é isso 😉

Posted (edited)

Imaginemos que eu tenho este a.java

import java.util.Scanner;
public class a {
/**
 * @param args
 */
public static void pergunta (String[] args) {

 int number = 0;
 Scanner teclado = new Scanner(System.in);
 System.out.println("Digite um número :");
 number = teclado.nextInt();
 double metade = number /2;
 System.out.println("Metade será :" + metade);
}
}

e quero chamar a variavel metade para o b.java

public class b {
/**
* @param args
*/
public static void paridade(String[] args) {
pergunta method = new pergunta();
if ((metade % 2) == 0) {
System.out.println("É par!");
} else {
System.out.println("É impar!");
}
}
}

de modo a ter uma main assim:

public class Main {
/**
 * @param args
 */
public static void main(String[] args) {
 pergunta method = new pergunta();
 paridade method_2 = new paridade();
 method.pergunta();
 method_2.paridade();
}
}
Edited by davide92
Posted

Esse código não faz sentido.

Antes de explicar como deverias fazer, poderias dizer-me quais são os teus conhecimentos de Java?

Vejo que fazes alguma confusão nos conceitos!

esquece aquela main so preciso de saber como posso chamar uma variavel de um lado para o outro se faz favor

Posted

Ok, tudo bem.

Por mim, a solução seria

import java.util.Scanner;
public class a {
public static double metade = 0;
public static void pergunta() {
int number = 0;
Scanner teclado = new Scanner(System.in);
System.out.println("Digite um numero");
number = teclado.nextInt();
metade = number/2;
System.out.println("A metade será: "+metade);
}
}

public class b {
public static void paridade() {
if ((a.metade % 2) == 0)
System.out.println("É par");
else
System.out.println("É impar");
}
}

public class App {
public static void main(String[] args){
a.pergunta();
b.paridade();
}
}

Como te tinha dito se a variavel for de instancia, precisas de criar o objecto.

Se for estática podes aceder a ele, consoante a visibilidade.

Outra coisa, a classe de teste (que contém o método main) não a chames por Main, App é um nome plausivel 😉

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.