hugown
Setembro 21, 2008, 5:14pm
#1
Então amigos, estou de volta com mais uma dúvida, mas agora é sobre método booleano.
Eu queria saber como faço para interromper uma execução em um método booleano, ou nem tem jeito? :~
System.exit(0); //não dá certo.
To começando programação e tal. Desculpe por qualquer pergunta idiota.
[]'s
Olá seja mais especifico na sua pergunta.
O método booleano e para testar um loop como isto:
while(metodoBooleano()){
//faça alguma coisa
}
Se for isso, basta adicionar um break; eh o loop irá encerrar, se não for descreva melhor sua pergunta, além disso System.exit(0) tem que funcionar sim;
Att
hugown
Setembro 21, 2008, 5:22pm
#3
hahaha
Sabia que minha pergunta tava mal formulada.
É o seguinte, tenho que fazer um programa que calcule : Par, Ímpar, Ano Bissexto e Primo. E os métodos para conseguir tais “respostas” precisam ser boolean, e quando o usuário digitar 0 (zero) o programa deve ser encerrado. Eu consegui fazer a parte de entrar com o dados e sair as “respostas” mas não to conseguindo fazer sair do programa quando for digitado 0 (zero).
Está melhor agora?
[]'s
Poste seu código para eu ver o que tá fazendo de errado.
hugown
Setembro 21, 2008, 5:25pm
#5
É meio extenso mas lá vai
Primeira parte:
[code]import java.util.*;
class Exerc2 {
public static boolean isEven (int nEven) {
if ( (nEven % 2) == 0) {
return true;
}else{
return false;
}
}
public static boolean isOdd (int nOdd) {
if ((nOdd % 2) != 0) {
return true;
}else{
return false;
}
}
public static boolean eBissexto (int nBiss) {
if ( ((nBiss % 400) == 0) || (((nBiss % 4)==0)&& ((nBiss % 100) != 0))){
return true;
}else{
return false;
}
}
public static boolean ePrimo (int nPrimo){
if (nPrimo == 0){
return false;
}else{
for (int i = 2; i <= nPrimo; i++){
if ((nPrimo % i) != 0){
return true;
} else {
return false;
}
}
return true;
}
}
}[/code]
Segunda Parte:
[code]import java.util.*;
public class Exerc2TestDrive {
public static void main (String args[]){
Scanner teclado = new Scanner(System.in);
Exerc2 obj = new Exerc2();
System.out.println("Par:");
if (obj.isEven(teclado.nextInt())){
System.out.println("eh par");
} else {
System.out.println("nao eh par");
}
System.out.println("Impar:");
if (obj.isOdd(teclado.nextInt())){
System.out.println("eh impar");
} else {
System.out.println("nao eh impar");
}
System.out.print("Bissexto:");
if (obj.eBissexto(teclado.nextInt())){
System.out.println("eh bissexto");
} else {
System.out.println("nao eh bissexto");
}
System.out.println("Primo:");
if (obj.ePrimo(teclado.nextInt())){
System.out.println("eh primo");
} else {
System.out.println("nao eh primo");
}
}
} [/code]
Olá tem como melhorar muita coisa, mas como to sem tempo agora, mudei algumas coisas rapidamente.
Parte 1
import java.util.*;
class Exerc2 {
public static boolean isEven(int nEven) {
if ((nEven % 2) == 0) {
return true;
}
return false;
}
public static boolean isOdd(int nOdd) {
if ((nOdd % 2) != 0) {
return true;
}
return false;
}
public static boolean eBissexto(int nBiss) {
if (((nBiss % 400) == 0)
|| (((nBiss % 4) == 0) && ((nBiss % 100) != 0))) {
return true;
}
return false;
}
public static boolean ePrimo(int nPrimo) {
if (nPrimo == 0) {
return false;
} else {
for (int i = 2; i <= nPrimo; i++) {
if ((nPrimo % i) != 0) {
return true;
} else {
return false;
}
}
return true;
}
}
}
Parte 2
import java.util.*;
public class Exerc2TestDrive {
public static void main(String args[]) {
Scanner teclado = new Scanner(System.in);
// Exerc2 obj = new Exerc2();
System.out.println("Par:");
int tecla = teclado.nextInt();
if (tecla != 0) {
if (Exerc2.isEven(tecla)) {
System.out.println("eh par");
} else {
System.out.println("nao eh par");
}
} else {
System.exit(0);
}
System.out.println("Impar:");
tecla = teclado.nextInt();
if (tecla != 0) {
if (Exerc2.isOdd(teclado.nextInt())) {
System.out.println("eh impar");
} else {
System.out.println("nao eh impar");
}
} else {
System.exit(0);
}
System.out.print("Bissexto:");
tecla = teclado.nextInt();
if (tecla != 0) {
if (Exerc2.eBissexto(teclado.nextInt())) {
System.out.println("eh bissexto");
} else {
System.out.println("nao eh bissexto");
}
} else {
System.exit(0);
}
System.out.println("Primo:");
tecla = teclado.nextInt();
if (tecla != 0) {
if (Exerc2.ePrimo(teclado.nextInt())) {
System.out.println("eh primo");
} else {
System.out.println("nao eh primo");
}
} else {
System.exit(0);
}
}
}
Att
hugown
Setembro 21, 2008, 5:58pm
#7
Ahhhhhhhhh! Agora entendi! :X
Nossa que vergonha por não ter pensado nisso antes. :x
hahahahahahha
Valeu mesm amigo.
[]'s
De nada, o ideal é você aplicar um metodo de sentinela tipo definindo um valor como -1 por exemplo
eh usar uma estrutura deste tipo
do{
}while(num!=-1)
Em relação aos seus metodos estáticos, você nao precisa criar uma instância para acessá-los perceba que eu acessei pela própria classe, essa eh a intenção do static;
Ex : Exerc2.metodo();
Valeu
hugown
Setembro 21, 2008, 6:19pm
#9
Eu não entendi sobre usar o método de sentinela. :S
Mas vlw.