Estou com uma dúvida no seguinte código.
è um código simples: O usuário deve digitar uma sequencia de caracteres B ou C e no final tenho que imprimir os carateres ditados na ordem que eles foram definidos pelo usuário:
[/code]
import java.io.IOException;
import java.util.Scanner;
public class ViraVira{
public static int n = 0; //n= quand. fichas
public static char ficha;
public static char brancas;
public static char cinzas;
char[]jogoDeFichas = new char[ficha];
public static void main (String args []){
System.out.println ("Defina o jogo de fichas: B = Branca : C = Cinza");
Scanner sc = new Scanner(System.in);
char[] jogoDeFichas = new char[ficha]; // criação do array de fichas
for (int i = 0; i <= 6; i++) {
System.out.print("Entre com as fichas do jogo: ");
Scanner sc2 = new Scanner(System.in);
// System.out.println(jogoDeFichas);
sc.next().getChars(i, n, jogoDeFichas, ficha);
}
}
}[/quote]
Depois vou fazer um if, mas isso mais adiante.
Alguem sabe como resolvo isso?
Bom dia jo83
Acho que é isso que você está precisando. Fiz um ajuste no seu código para que os valores que o usuário digite sejam armazenados em um array e depois mostrados na tela na mesma ordem. Segue o código:
import java.util.Scanner;
public class ViraVira
{
public static int n = 0; //n= quand. fichas
public static char ficha;
public static char brancas;
public static char cinzas;
char[] jogoDeFichas = new char[ficha];
public static final int TOTAL = 6;
public static void main( String args[] )
{
System.out.println( "Defina o jogo de fichas: B = Branca : C = Cinza" );
Scanner sc = new Scanner( System.in );
char[] fichas = new char[TOTAL]; // criação do array de fichas
for ( int i = 0; i < TOTAL; i++ )
{
System.out.print( "Entre com as fichas do jogo: " );
Scanner sc2 = new Scanner( System.in );
String c = sc.next();
fichas[i] = c.charAt( 0 );
}
System.out.print( "O usuário digitou: " );
for ( char c : fichas )
{
System.out.print( c );
System.out.print( " " );
}
System.out.println( "" );
}
}
Não consigo fazer funcionar o útimo método desse código.
Dá erro na leitura do array.
Alguém me dá uma ajuda?
[code]import java.util.Scanner;
public class ViraVira
{ public static int n = 0; //n= quand. fichas
public static char ficha;
public static char brancas;
public static char cinzas;
char[] jogoDeFichas = new char[ficha];
public static int TOTAL = 0;
char[] fichas = new char[TOTAL];
public int cont=0;
//metodo para definir as fichas do jogo
public void jogoFichas(){
System.out.println( “Defina a quantidade de fichas do jogo:” );
Scanner s = new Scanner( System.in );
String quant = s.nextLine();
TOTAL = Integer.parseInt(quant);
System.out.println( “Defina o jogo de fichas: B = Branca : C = Cinza” );
Scanner sc = new Scanner( System.in );
{
for ( int i = 0; i < TOTAL; i++ )
{
System.out.print( "Entre com as fichas do jogo: " );
Scanner sc2 = new Scanner( System.in );
String c = sc.next();
fichas[i] = c.charAt( 0 );
}
System.out.print( "O jogo possui "+ quant + " fichas: " );
for ( char c : fichas )
{
System.out.print( c );
System.out.print( " " );
}
System.out.println( “” );
}
}
//metodo que verifica quantos b foram digitados
void verificaJogoPossivel(){
for ( int i = 0; i < fichas.length; i++ ){
if (fichas[i]==‘b’){
cont++;
}
if (cont/2 == 1){
System.out.println( “Esse jogo não possui solução” );
}
}
}
}[/code]