sou estudante de Analise e Desenvolvimento de Sistema, tenho um trabalho para entregar e já tentei fazer de tudo e consigo resolver alguns problemas no meu codigo.
segue meu codigo e as duvidas.
Detalhe o codigo roda no cmd do windows sem IDE.
import java.util.Scanner;
public class JogoDoisOuUm{
public static void main(String[] args) {
System.out.println("Neste Jogo o vencedor é aquele que escolhe o numero diferente entre três participantes");
int N = 0; // N representa o total de partidas que serão jogadas.
int A,B,C; // Essas variaveis representam os 3 jogadores.
Scanner entrada = new Scanner(System.in); // criei o objeto entrada.
System.out.println("Escolha quantas partidas serão jogadas: ");
Scanner n = new Scanner(System.in);
N = n.nextInt(); // li o valor de N
while(N > 0){
System.out.println("O Jogador A escolha 2 ou 1: ");
A = entrada.nextInt();
if(A < 1 || A > 2){
System.out.println("Numero Invalido Digite 2 ou 1"); // aqui vem o primeiro problema, se o jogador colocar 3 da a mensagem de numero invalido mas não volta para o valor de A e sim continua com o valor de B. já criei else, break e não resolve
}
System.out.println("O Jogador B escolha 2 ou 1: ");
B = entrada.nextInt();
if(B < 1 || B > 2){
System.out.println("Numero Invalido Digite 2 ou 1");
}
System.out.println("O Jogador C escolha 2 ou 1: ");
C = entrada.nextInt();
if(A != B && A != C){
System.out.println("------------------------------------------------------");
System.out.println("O Jogador A Foi o vencedor, Vamos para Proxima Rodada ");
System.out.println("------------------------------------------------------");
}else if(B != C && B != A) {
System.out.println("------------------------------------------------------");
System.out.println("O Jogador B foi o vencedor, Vamos para Proxima Rodada ");
System.out.println("------------------------------------------------------");
}else if(C != A && C != B){
System.out.println("------------------------------------------------------");
System.out.println("O Jogador C foi o vencedor, Vamos para Proxima Rodada ");
System.out.println("------------------------------------------------------");
}else{
System.out.println("---------------------------------------------");
System.out.println("O Jogo está empatado vamos a proxima Rodada: ");
System.out.println("---------------------------------------------");
}
N--;
if(N <= 0){
System.out.println("---------------------------------");
System.out.println("Final do Jogo, Inicie Novamente: ");
System.out.println("---------------------------------");
}
}
}
}
import java.util.Scanner;
public class JogoDoisOuUm{
public static void main(String[] args) {
System.out.println("Neste Jogo o vencedor é aquele que escolhe o numero diferente entre três participantes");
int N = 0; // N representa o total de partidas que serão jogadas.
int A,B,C; // Essas variaveis representam os 3 jogadores.
Scanner entrada = new Scanner(System.in);
System.out.println("Escolha quantas partidas serão jogadas: ");
Scanner n = new Scanner(System.in);
N = n.nextInt();
while(N > 0){
System.out.println("O Jogador A escolha 2 ou 1: ");
A = entrada.nextInt();
if(A <1 || A >2){
System.out.println("----------------------------------------");
System.out.println("Numero Invalido, Jogador A Digite 2 ou 1");
System.out.println("----------------------------------------");
A = entrada.nextInt();
}
System.out.println("O Jogador B escolha 2 ou 1: ");
B = entrada.nextInt();
if(B < 1 || B > 2){
System.out.println("----------------------------------------");
System.out.println("Numero Invalido, jogador B Digite 2 ou 1");
System.out.println("----------------------------------------");
B = entrada.nextInt();
}
System.out.println("O Jogador C escolha 2 ou 1: ");
C = entrada.nextInt();
if(C < 1 || C > 2){
System.out.println("----------------------------------------");
System.out.println("Numero Invalido, jogador C Digite 2 ou 1");
System.out.println("----------------------------------------");
C = entrada.nextInt();
}
if(A != B && A != C){
System.out.println("------------------------------------------------------");
System.out.println("O Jogador A Foi o vencedor, Vamos para Proxima Rodada ");
System.out.println("------------------------------------------------------");
}else if(B != C && B != A) {
System.out.println("------------------------------------------------------");
System.out.println("O Jogador B foi o vencedor, Vamos para Proxima Rodada ");
System.out.println("------------------------------------------------------");
}else if(C != A && C != B){
System.out.println("------------------------------------------------------");
System.out.println("O Jogador C foi o vencedor, Vamos para Proxima Rodada ");
System.out.println("------------------------------------------------------");
}else{
System.out.println("---------------------------------------------");
System.out.println("O Jogo está empatado vamos a proxima Rodada: ");
System.out.println("---------------------------------------------");
}
N--;
if(N <= 0){
System.out.println("---------------------------------");
System.out.println("Final do Jogo, Inicie Novamente: ");
System.out.println("---------------------------------");
}
}
}
}
com essa alteração consigo travar ele porém somente uma vez, se o jogador digitar 3 duas vezes seguida vai pular para o proximo jogador e preciso que ele trave enquanto não digitar 2 ou 1.
O problema é que n tinha um while para validar, ta ae o código:
import java.util.Scanner;
/**
*
* @author 4Mega
*/
public class Jogo {
public static void main(String[] args) {
System.out.println("Neste Jogo o vencedor é aquele que escolhe o numero diferente entre três participantes");
int N = 0; // N representa o total de partidas que serão jogadas.
// Essas variaveis representam os 3 jogadores, foram inicializadas com zero
int A = 0;
int B = 0;
int C = 0;
Scanner entrada = new Scanner(System.in);
System.out.println("Escolha quantas partidas serão jogadas: ");
Scanner n = new Scanner(System.in);
N = n.nextInt();
while (N > 0) {
// JOGADOR A
boolean valido = false;
while (valido == false) { // enquanto n estiver validado execute:
System.out.println("O Jogador A escolha 2 ou 1: ");
A = entrada.nextInt();
if (A < 1 || A > 2) {
System.out.println("----------------------------------------");
System.out.println("Numero Invalido!");
System.out.println("----------------------------------------");
} else {
valido = true;
}
}
// JOGADOR B
valido = false; // reinicia variavel
while (valido == false) { // enquanto n estiver validado execute:
System.out.println("O Jogador B escolha 2 ou 1: ");
B = entrada.nextInt();
if (B < 1 || B > 2) {
System.out.println("----------------------------------------");
System.out.println("Numero Invalido!");
System.out.println("----------------------------------------");
} else {
valido = true;
}
}
// JOGADOR C
valido = false; //reinicia variavel
while (valido == false) { // enquanto n estiver validado execute:
System.out.println("O Jogador C escolha 2 ou 1: ");
C = entrada.nextInt();
if (C < 1 || C > 2) {
System.out.println("----------------------------------------");
System.out.println("Numero Invalido!");
System.out.println("----------------------------------------");
} else {
valido = true;
}
}
if (A != B && A != C) {
System.out.println("------------------------------------------------------");
System.out.println("O Jogador A Foi o vencedor, Vamos para Proxima Rodada ");
System.out.println("------------------------------------------------------");
} else if (B != C && B != A) {
System.out.println("------------------------------------------------------");
System.out.println("O Jogador B foi o vencedor, Vamos para Proxima Rodada ");
System.out.println("------------------------------------------------------");
} else if (C != A && C != B) {
System.out.println("------------------------------------------------------");
System.out.println("O Jogador C foi o vencedor, Vamos para Proxima Rodada ");
System.out.println("------------------------------------------------------");
} else {
System.out.println("---------------------------------------------");
System.out.println("O Jogo está empatado vamos a proxima Rodada: ");
System.out.println("---------------------------------------------");
}
N--;
if (N <= 0) {
System.out.println("---------------------------------");
System.out.println("Final do Jogo, Inicie Novamente: ");
System.out.println("---------------------------------");
}
}
}
}