Concatenação!

15 respostas
F

A concatenação seria unir dois objetos!!

Mais nessa linha esta dando erro…:S

System.out.println(mouse[0][1]) +  " - " System.out.println(mouse[1][0]);

15 Respostas

Rodrigo_Sasaki

[quote=FelipePaes]A concatenação seria unir dois objetos!!

Mais nessa linha esta dando erro…:S

System.out.println(mouse[0][1]) +  " - " System.out.println(mouse[1][0]);

você tem que concatenar o valor a ser printado, não o método println

exemplo

System.out.println(valor1 + " - " + valor2);
F
System.out.println(mouse[0][1] +  " - " + mouse[1][0]);

Quando vc quer concatenar sói precisa fazer isto, não usar 2 vezes o System.out.

Um system dentro de outro não vai funcionar mesmo.

nel

[quote=FelipePaes]A concatenação seria unir dois objetos!!

Mais nessa linha esta dando erro…:S

System.out.println(mouse[0][1]) +  " - " System.out.println(mouse[1][0]);

Oi!

Poste o código completo e a exception. Isto não é um método, é uma matriz, não é? E aposto que o erro é NullPointerException.
Existe algo inserido na posição 1 - 0 da matriz?

Abraços.

F

Fiz como o FAR.ST relatou e deu o erro que o NEL falou(NullPointerException.)

Rodrigo_Sasaki

mas não postou o código e a exception como ele pediu, né? :wink:

nel

FelipePaes:
Fiz como o FAR.ST relatou e deu o erro que o NEL falou(NullPointerException.)

Certo Felipe, e você leu o que porque eu sabia que dava esse erro?
Preste atenção, vou repetir. Poste o seu código completo pois ele foi postado em outro tópico, por isso eu sabia o que estava de errado e no outro tópico aberto por você eu já indiquei o que estava errado.

Repetindo então. A matriz mouse não possui valores inseridos na posição 1 - X, sendo assim, você não pode acessar uma posição inexistente em uma matriz, caso contrário, dá o erro que você confirmou. Para solucionar, veja:

public class Arrays {   
    public static void main(String[] args) {   
        char [][] mouse = new char[2][10];   // estava [0][1], como vai acessar a posição 1 sem ela ser declarada na matriz??? Aloquei 2 linhas, ou seja, 0 e 1.
           
        mouse[0][1] = 'f';   
        mouse[1][0] = 'g';        
           
        System.out.println(mouse[0][1]) +  " - " System.out.println(mouse[1][0]);   
     }   
}

Certo? Entendeu amigo?
Abraços.

F

ok...vou explicar td certinho!!!

public class Array {
	public static void main(String[] args) {
		char [][] mouse = new char[0][10];
		
		mouse[0][1] = 'f';
		mouse[0][2] = 'e';
		mouse[0][3] = 'l';
		mouse[0][4] = 'i';
		mouse[0][5] = 'p';
		mouse[0][6] = 'e';
		mouse[0][7] = 'a';
		mouse[0][8] = 'e';
		mouse[0][9] = 's';
		
		System.out.println(mouse[0][1] +  " - " + mouse[1][0]);  
		System.out.println(mouse[0][2] +  " - " + mouse[2][0]);  
		System.out.println(mouse[0][3] +  " - " + mouse[3][0]);  
		System.out.println(mouse[0][4] +  " - " + mouse[4][0]);  
		System.out.println(mouse[0][5] +  " - " + mouse[5][0]);  
		System.out.println(mouse[0][6] +  " - " + mouse[6][0]);  
		System.out.println(mouse[0][7] +  " - " + mouse[7][0]);  
		System.out.println(mouse[0][8] +  " - " + mouse[8][0]);
		System.out.println(mouse[0][9] +  " - " + mouse[9][0]);  
	}
}

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Array.main(Array.java:5)

F

Então provavelmente vc não está inserindo corretamente no array os elementos.

use o segunte para preencher:

for(int linha = 0;linha<mouse.length;linha++) for(int coluna = 0;coluna<mouse[linha].length;coluna++) mouse[linha][coluna] = elemento; //no caso o que vc estiver inserindo no array.

Pra estar dando NullPointerException é pq vc está tentando acessar uma posição do array que está vazia (null).

Arrumando seu método que insere conforme o que eu postei ali vai resolver o problema, espero.

@edit

ArrayIndexOutOfBoundsException ocorre quando vc está acessando uma posição que não existe no array, ou seja, se seu array tem uma posição (no caso a posição um é 0, única posição do array)
Se vc tentar acessar a posição 1 (que não existe, pois seu array tem somente uma posição, o 0) ocorrerá esta exceção.

nel

Veja o que eu disse logo ali…acima ok? :slight_smile:

F

Intão NEL...eu estava fazendo isso, mais eu estava fazendo isso mais não estava começando na posição 1!

public class Arrays {
	public static void main(String[] args) {
		char [][] mouse = new char[1][10];
		
		mouse[0][1] = 'f';
		mouse[0][2] = 'e';
		mouse[0][3] = 'l';
		mouse[0][4] = 'i';
		mouse[0][5] = 'p';
		mouse[0][6] = 'e';
		mouse[0][7] = 'a';
		mouse[0][8] = 'e';
		mouse[0][9] = 's';
		
		System.out.println(mouse[0][1]) +  " - " System.out.println(mouse[1][0]); 
		System.out.println(mouse[0][2]) +  " - " System.out.println(mouse[2][0]); 
		System.out.println(mouse[0][3]) +  " - " System.out.println(mouse[3][0]); 
		System.out.println(mouse[0][4]) +  " - " System.out.println(mouse[4][0]); 
		System.out.println(mouse[0][5]) +  " - " System.out.println(mouse[5][0]); 
		System.out.println(mouse[0][6]) +  " - " System.out.println(mouse[6][0]); 
		System.out.println(mouse[0][7]) +  " - " System.out.println(mouse[7][0]); 
		System.out.println(mouse[0][8]) +  " - " System.out.println(mouse[8][0]);
		System.out.println(mouse[0][9]) +  " - " System.out.println(mouse[9][0]); 
	}
}
Agora o erro é :

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field

at Arrays.main(Arrays.java:15)

nel
FelipePaes:
Intão NEL...eu estava fazendo isso, mais eu estava fazendo isso mais não estava começando na posição 1!
public class Arrays {
	public static void main(String[] args) {
		char [][] mouse = new char[1][10];
		
		mouse[0][1] = 'f';
		mouse[0][2] = 'e';
		mouse[0][3] = 'l';
		mouse[0][4] = 'i';
		mouse[0][5] = 'p';
		mouse[0][6] = 'e';
		mouse[0][7] = 'a';
		mouse[0][8] = 'e';
		mouse[0][9] = 's';
		
		System.out.println(mouse[0][1]) +  " - " System.out.println(mouse[1][0]); 
		System.out.println(mouse[0][2]) +  " - " System.out.println(mouse[2][0]); 
		System.out.println(mouse[0][3]) +  " - " System.out.println(mouse[3][0]); 
		System.out.println(mouse[0][4]) +  " - " System.out.println(mouse[4][0]); 
		System.out.println(mouse[0][5]) +  " - " System.out.println(mouse[5][0]); 
		System.out.println(mouse[0][6]) +  " - " System.out.println(mouse[6][0]); 
		System.out.println(mouse[0][7]) +  " - " System.out.println(mouse[7][0]); 
		System.out.println(mouse[0][8]) +  " - " System.out.println(mouse[8][0]);
		System.out.println(mouse[0][9]) +  " - " System.out.println(mouse[9][0]); 
	}
}
Agora o erro é :

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field
Syntax error on tokens, delete these tokens
out cannot be resolved or is not a field

at Arrays.main(Arrays.java:15)

1 - Não se concatena método! Principalmente um System.out.println() como está fazendo.
2 - Seu código, aqui:

public static void main(String[] args) throws IOException {
		char [][] mouse = new char[2][10];   
        
		System.out.println("Lenght: " + mouse.length);
		
        mouse[0][0] = 'a';
        mouse[0][1] = 'b';
        mouse[1][0] = 'c';
        mouse[1][1] = 'd';
           
        System.out.println(mouse[0][1] + " - " + mouse[1][0]);
        
        // Print all
        for(int line = 0; line < mouse.length; line++) {
        	for(int column = 0; column < mouse[line].length; column++) {        		
        		System.out.println(mouse[line][column]);
        	}
        }
	}

Eu editei o que disse anteriormente, para inserir na posição um deves iniciar sua matriz com [2], que é o número de linhas que deseja, ou seja, 2.
Quando você usa, começa em 0 e 1, mas na instancia, começa em 1 mesmo.

Abraços.

Rodrigo_Sasaki

é porque você está concatenando os System.out.println denovo…

F

Eu fiz um programa de um joguinho aqui, e queria saber se a resposta dele esta certa ou errada…Eu axo q tenho q usar a variavel boolean !!!

F
import java.util.Scanner;
public class CaçaPalavras {
public static void main(String[] args) {
		
		System.out.println("CAÇA - PALAVRAS");
		System.out.println("\n");	
		
		System.out.println("Encontre os 4 times grandes paulistas : CORINTHIANS - PALMEIRAS - SANTOS - SÃO PAULO");
		System.out.println("\n");
		
		String [][] palavras = new String [1][29] ;
				
		palavras [0][1]  = "A";
		palavras [0][2]  = "B";
		palavras [0][3]  = "C";
		palavras [0][4]  = "D";
		palavras [0][5]  = "E";
		palavras [0][6]  = "F";
		palavras [0][7]  = "G";
		palavras [0][8]  = "H";
		palavras [0][9]  = "I";
		palavras [0][10] = "J";
		palavras [0][11] = "K";
		palavras [0][12] = "L";
		palavras [0][13] = "M";
		palavras [0][14] = "N";
		palavras [0][15] = "O";
		palavras [0][16] = "P";
		palavras [0][17] = "Q";
		palavras [0][18] = "R";
		palavras [0][19] = "S";
		palavras [0][20] = "T";
		palavras [0][21] = "U";
		palavras [0][22] = "V";
		palavras [0][23] = "W";
		palavras [0][24] = "X";
		palavras [0][25] = "Y";
		palavras [0][26] = "Z";
		palavras [0][27] = "Ã";
		palavras [0][28] = "Ç";
		
		
         System.out.println("1" + "   " + "2" + "   " + "3" + "   " + "4" + "   " + "5" + "   " + "6" + "   " + "7" + "   " + "8" + "   " + "9" + "   " + "10" + "  " + "11" + "  " + "12" + ".  .  .");
         
		 System.out.println("                                                                                                                                                       " + " .");
		 System.out.println("                LINHA                                                                                                                                  " + " .");
                  
         
		 System.out.println(palavras[0][9]  + " - " + palavras[0][28] + " - " + palavras[0][27] + " - " + palavras[0][1]  + " - " + palavras[0][13] + " - " + palavras[0][15] + " - " + palavras[0][15] + " - " + palavras[0][23] + " - " + palavras[0][6]  + " - " + palavras[0][3]  + " - " + palavras[0][4]  + " - " + palavras[0][17] + "       " + "1");
		 System.out.println(palavras[0][5]  + " - " + palavras[0][19] + " - " + palavras[0][13] + " - " + palavras[0][18] + " - " + palavras[0][16] + " - " + palavras[0][15] + " - " + palavras[0][7]  + " - " + palavras[0][5]  + " - " + palavras[0][16] + " - " + palavras[0][18] + " - " + palavras[0][11] + " - " + palavras[0][4]  + "       " + "2");
		 System.out.println(palavras[0][24] + " - " + palavras[0][27] + " - " + palavras[0][7]  + " - " + palavras[0][4]  + " - " + palavras[0][7]  + " - " + palavras[0][27] + " - " + palavras[0][17] + " - " + palavras[0][6]  + " - " + palavras[0][10] + " - " + palavras[0][12] + " - " + palavras[0][9]  + " - " + palavras[0][20] + "       " + "3");
		 System.out.println(palavras[0][3]  + " - " + palavras[0][15] + " - " + palavras[0][18] + " - " + palavras[0][9]  + " - " + palavras[0][14] + " - " + palavras[0][20] + " - " + palavras[0][8]  + " - " + palavras[0][9]  + " - " + palavras[0][1]  + " - " + palavras[0][14] + " - " + palavras[0][19] + " - " + palavras[0][19] + "       " + "4" + "     C");
		 System.out.println(palavras[0][11] + " - " + palavras[0][16] + " - " + palavras[0][19] + " - " + palavras[0][12] + " - " + palavras[0][6]  + " - " + palavras[0][1]  + " - " + palavras[0][3]  + " - " + palavras[0][10] + " - " + palavras[0][14] + " - " + palavras[0][24] + " - " + palavras[0][25] + " - " + palavras[0][27] + "       " + "5" + "     O");
		 System.out.println(palavras[0][20] + " - " + palavras[0][1]  + " - " + palavras[0][1]  + " - " + palavras[0][12] + " - " + palavras[0][24] + " - " + palavras[0][6]  + " - " + palavras[0][22] + " - " + palavras[0][28] + " - " + palavras[0][5]  + " - " + palavras[0][12] + " - " + palavras[0][15] + " - " + palavras[0][8]  + "       " + "6" + "     L");
		 System.out.println(palavras[0][22] + " - " + palavras[0][21] + " - " + palavras[0][8]  + " - " + palavras[0][12] + " - " + palavras[0][22] + " - " + palavras[0][21] + " - " + palavras[0][17] + " - " + palavras[0][1]  + " - " + palavras[0][24] + " - " + palavras[0][27] + " - " + palavras[0][19] + " - " + palavras[0][20] + "       " + "7" + "     U");
		 System.out.println(palavras[0][19] + " - " + palavras[0][12] + " - " + palavras[0][6]  + " - " + palavras[0][5]  + " - " + palavras[0][13] + " - " + palavras[0][1]  + " - " + palavras[0][9]  + " - " + palavras[0][27] + " - " + palavras[0][4]  + " - " + palavras[0][2]  + " - " + palavras[0][22] + " - " + palavras[0][17] + "       " + "8" + "     N");
		 System.out.println(palavras[0][2]  + " - " + palavras[0][15] + " - " + palavras[0][10] + " - " + palavras[0][17] + " - " + palavras[0][11] + " - " + palavras[0][5]  + " - " + palavras[0][2]  + " - " + palavras[0][8]  + " - " + palavras[0][1]  + " - " + palavras[0][6]  + " - " + palavras[0][9]  + " - " + palavras[0][10] + "       " + "9" + "     A");
		 System.out.println(palavras[0][7]  + " - " + palavras[0][2]  + " - " + palavras[0][27] + " - " + palavras[0][18] + " - " + palavras[0][27] + " - " + palavras[0][28] + " - " + palavras[0][9]  + " - " + palavras[0][28] + " - " + palavras[0][9]  + " - " + palavras[0][11] + " - " + palavras[0][28] + " - " + palavras[0][4]  + "       " + "10");
		 System.out.println(palavras[0][25] + " - " + palavras[0][15] + " - " + palavras[0][19] + " - " + palavras[0][9]  + " - " + palavras[0][6]  + " - " + palavras[0][6]  + " - " + palavras[0][25] + " - " + palavras[0][18] + " - " + palavras[0][20] + " - " + palavras[0][18] + " - " + palavras[0][1]  + " - " + palavras[0][6]  + "       " + "11");
		 System.out.println(palavras[0][27] + " - " + palavras[0][6]  + " - " + palavras[0][5]  + " - " + palavras[0][24] + " - " + palavras[0][22] + " - " + palavras[0][7]  + " - " + palavras[0][2] + " - " + palavras[0][13] + " - "  + palavras[0][1]  + " - " + palavras[0][2]  + " - " + palavras[0][28] + " - " + palavras[0][27] + "       " + "12");
		 System.out.println(palavras[0][24] + " - " + palavras[0][1]  + " - " + palavras[0][7]  + " - " + palavras[0][16] + " - " + palavras[0][19] + " - " + palavras[0][15] + " - " + palavras[0][20] + " - " + palavras[0][14] + " - " + palavras[0][1] + " - " + palavras[0][19]  + " - " + palavras[0][1]  + " - " + palavras[0][5]  + "       " + "13");
		 
		 System.out.println("\n");
		 System.out.println("obs: Lembrando que pode ser na vertical, horizontal, diagonal , de trás pra frente e vice - versa !!");
		 System.out.println("\n");
		 System.out.println(" ESCREVA AQUI ONDE ESTA A PRIMEIRA LETRA DE CADA PALAVRA!");
		 System.out.println(" Por exemplo: SANTOS 'S' (linha 6; coluna 4)");
		 
		System.out.println("\n");
		
		 Scanner times = new Scanner(System.in);
		 
		 System.out.print("Qual é o seu nome? ");
		    String Nome = times.nextLine();   
		 
		 System.out.println("Agora descreva aonde q esta a linha e a coluna do CORINTHIANS!");
		 
		 
		    System.out.print("Escreva aqui a Linha =  ");
		    String Linha = times.nextLine();

		    System.out.print("Coluna = ");
		    String Coluna = times.nextLine();

		    System.out.println("Olá " + Nome + " vc escolheu a Linha " + Coluna +
		       " e a " + "Coluna " + Linha );
		    
		    System.out.println("\n");
		    System.out.println("Agora descreva aonde q esta a linha e a coluna do PALMEIRAS!");
		    
		    Scanner jogo = new Scanner(System.in);
			 
		    System.out.print("Qual a linha? ");
		    String rs = jogo.nextLine();      
			 
		    System.out.print("Coluna = ");
		    String kkk = jogo.nextLine();
		    
		    System.out.println(Nome + " vc escolheu a Linha " + Coluna +
				       " e a " + "Coluna " + Linha );
		    
		    
		    System.out.println("\n");
		    System.out.println("Agora descreva aonde q esta a linha e a coluna do SANTOS!");
		    
		    Scanner futebol  = new Scanner(System.in);
			 
		    System.out.print("Qual a linha? ");
		    String santos = futebol.nextLine();      
			 
		    System.out.print("Coluna = ");
		    String Neymar = futebol.nextLine();
		    
		    System.out.println(Nome + " vc escolheu a Linha " + Coluna +
				       " e a " + "Coluna " + Linha );
		    
		    System.out.println("\n");
		    System.out.println("Agora descreva aonde q esta a linha e a coluna do SÃO PAULO!");
		    
		    Scanner soccer = new Scanner(System.in);
			 
		    System.out.print("Qual a linha? ");
		    String sãopaulo = soccer.nextLine();      
			 
		    System.out.print("Coluna = ");
		    String rc = soccer.nextLine();
		    
		    System.out.println(Nome + " vc escolheu a Linha " + Coluna +
				       " e a " + "Coluna " + Linha );
		    
		    System.out.println("\n");
		    System.out.println(Nome + " confira as suas respostas !");
		    System.out.println("\n");
		    System.out.println("CORINTHIANS = Linha 4; Coluna 1 !");
		    System.out.println("PALMEIRAS   = Linha 5; Coluna 2 !");
		    System.out.println("SANTOS      = Linha 10; Coluna 13 !");
		    System.out.println("SÃO PAULO   = Linha 2; Coluna 2!");
		    
	}
}

queria saber se a resposta do usuario esta certa ou errada, como q eu faço???

L
//Timao
                String CLinhaCerta = "4";
                String CColunaCerta = "1";
                //Porco
                String PLinhaCerta = "5";
                String PColunaCerta = "2";
                //Santos
                String SLinhaCerta = "10";
                String SColunaCerta = "13";
                //São Paulo
                String SPLinhaCerta = "2";
                String SPColunaCerta = "2";

                 Scanner times = new Scanner(System.in);
		 boolean timao = false;
                 boolean porco = false;
                 boolean peixe = false;
                 boolean sp = false;

		 System.out.print("Qual é o seu nome? ");
		 String Nome = times.nextLine();

		 System.out.println("Agora descreva aonde q esta a linha e a coluna do CORINTHIANS!");


		 System.out.print("Escreva aqui a Linha =  ");
		 String Linha = times.nextLine();

		 System.out.print("Coluna = ");
		 String Coluna = times.nextLine();

                 if(Coluna.equals(CColunaCerta) && Linha.equals(CLinhaCerta)){
                        timao = true;                                        
                 }

                System.out.println("\n");
                System.out.println("Agora descreva aonde q esta a linha e a coluna do PALMEIRAS!");


		System.out.print("Qual a linha? ");
		Linha = times.nextLine();

		System.out.print("Coluna = ");
                Coluna = times.nextLine();

                if(Coluna.equals(PColunaCerta) && Linha.equals(PLinhaCerta)){
                        porco = true;                                        
                 }

		System.out.println("\n");
                System.out.println("Agora descreva aonde q esta a linha e a coluna do SANTOS!");

                System.out.print("Qual a linha? ");
	        Linha = times.nextLine();

		System.out.print("Coluna = ");
		Coluna = times.nextLine();

		if(Coluna.equals(SColunaCerta) && Linha.equals(SLinhaCerta)){
                        peixe = true;                                        
                 }

		 System.out.println("\n");
		 System.out.println("Agora descreva aonde q esta a linha e a coluna do SÃO PAULO!");

                 System.out.print("Qual a linha? ");
		 Linha = times.nextLine();

		 System.out.print("Coluna = ");
		 Coluna = times.nextLine();

                 if(Coluna.equals(SPColunaCerta) && Linha.equals(SPLinhaCerta)){
                        sp = true;                                        
                 }

                System.out.println("\n");
                System.out.println(Nome + " confira as suas respostas !");
                System.out.println("\n");
                System.out.println("CORINTHIANS = Linha 4; Coluna 1 !");
                System.out.println("PALMEIRAS   = Linha 5; Coluna 2 !");
                System.out.println("SANTOS      = Linha 10; Coluna 13 !");
                System.out.println("SÃO PAULO   = Linha 2; Coluna 2!");

                System.out.print("Voce acertou : ");
                if(timao == true){
                    System.out.print(" CORINTHIANS ");
                }
                if(peixe == true){
                    System.out.print(" SANTOS ");
                }
                if(porco == true){
                    System.out.print("PALMEIRAS");
                }

                if(sp == true){
                    System.out.print("SÂO PAULO");
                }
Criado 24 de junho de 2011
Ultima resposta 29 de jun. de 2011
Respostas 15
Participantes 5