Duvida matrizes char e string

2 respostas
programaçãojava
Lucas_Kraemer

Pessoal estou com uma pequena duvida em uma questão, no qual eu gostaria de saber como faço para “somar” duas matrizes char em uma matriz String, a questão é a seguinte:
““Crie um algoritmo que leia duas matrizes 2x5, do tipo “char”, preenche
automaticamente uma terceira matriz 2x5, do tipo “String”, concatenando os elementos de
mesmo índice das matrizes 1 e 2. Ao final, o programa deverá exibir os elementos da terceira
matriz.””

algoritimo:

import java.util.Scanner;

public class quest2{

public static void main (String args[]){

Scanner leia=new Scanner (System.in);

char [][] matriz1=new char [2][5];

char [][] matriz2=new char [2][5];

String [][] matriz=new String [2][5];

int linha,coluna;

System.out.println(Digite 10 letras para a primeira matriz e depois mais 10 para a segunda);

System.out.println(Matriz 1);

for(linha=0; linha<2;linha++){

for(coluna=0; coluna<5; coluna++){

matriz1[linha][coluna]=leia.next().charAt(0);

}

}

for(linha=0; linha<2;linha++){

for(coluna=0; coluna<5; coluna++){

matriz2[linha][coluna]=leia.next().charAt(0);

}

}

for(linha=0; linha<2;linha++){

for(coluna=0; coluna<5; coluna++){

matriz[linha][coluna]=matriz2[linha][coluna]+matriz1[linha][coluna]

}

}

for(linha=0; linha<2;linha++){

for(coluna=0; coluna<5; coluna++){

System.out.println(matriz[linha][coluna]+"  ");

}System.out.println();

}

}

}

2 Respostas

I

Observação: Por convenção, nomes de classes são grafadas com a primeira letra (de cada termo que compõe o nome) maiúscula, ou seja, utilizando o padrão CamelCase.

Você pode fazer assim:

1 - Converte o char em String:

Character.toString(matriz1[linha][coluna]);
Character.toString(matriz2[linha][coluna]);

2 - Usa o operador + para concatenar as strings:

matrizString[linha][coluna] = (Character.toString(matrizChar1[linha][coluna]) 
					+ Character.toString(matrizChar2[linha][coluna]));

Exemplo:

import java.util.Scanner;

public class Questao2 {
	private char[][] matrizChar1 = new char[2][5];
	private char[][] matrizChar2 = new char[2][5];
	private String[][] matrizString = new String[2][5];
	
	private void lerDados(){
		Scanner leitor = new Scanner(System.in);
		
		System.out.println("\nInforme 10 letras para a primeira matriz...");
		for(int linha = 0; linha < matrizChar1.length; linha++){
			for(int coluna = 0; coluna < matrizChar1[0].length; coluna++){
				System.out.print("MatrizChar1[" + linha + "][" + coluna + "]= ");
				matrizChar1[linha][coluna] = leitor.next().charAt(0);
			}
		}
		
		System.out.println("\nInforme 10 letras para a segunda matriz...");
		for(int linha = 0; linha < matrizChar2.length; linha++){
			for(int coluna = 0; coluna < matrizChar2[0].length; coluna++){
				System.out.print("MatrizChar2[" + linha + "][" + coluna + "]= ");
				matrizChar2[linha][coluna] = leitor.next().charAt(0);
			}
		}
	}
	
	private void exibirDados(){
		System.out.println("\nMatrizChar1\n");
		for(int linha = 0; linha < matrizChar1.length; linha++){
			for(int coluna = 0; coluna < matrizChar1[0].length; coluna++){
				System.out.println("MChar1[" + linha + "][" + coluna + "]= " 
					+ matrizChar1[linha][coluna]);
			}
		}
		
		System.out.println("\nMatrizChar2\n");
		for(int linha = 0; linha < matrizChar2.length; linha++){
			for(int coluna = 0; coluna < matrizChar2[0].length; coluna++){
				System.out.println("MChar2[" + linha + "][" + coluna + "]= " 
					+ matrizChar2[linha][coluna]);
			}
		}
		
		System.out.println("\nMatrizString\n");
		for(int linha = 0; linha < matrizString.length; linha++){
			for(int coluna = 0; coluna < matrizString[0].length; coluna++){
				System.out.println("MChar2[" + linha + "][" + coluna + "]= " 
					+ matrizString[linha][coluna]);
			}
		}
	}
	
	private void concatenarMatrizes(){
		for(int linha = 0; linha < matrizString.length; linha++){
			for(int coluna = 0; coluna < matrizString[0].length; coluna++){
				matrizString[linha][coluna] = (Character.toString(matrizChar1[linha][coluna]) 
					+ Character.toString(matrizChar2[linha][coluna]));
			}
		}
	}
	
	public static void main(String[] args){
		Questao2 questao = new Questao2();
		questao.lerDados();
		questao.exibirDados();
		questao.concatenarMatrizes();
		questao.exibirDados();
	}
}

Rodando…

image


Lucas_Kraemer

Vlw me ajudou mt

Criado 7 de novembro de 2019
Ultima resposta 7 de nov. de 2019
Respostas 2
Participantes 2