Stworzyłem macierz, która ma być podstawą do przekodowywania tekstu (porównuje literki w macierzy i w tekście i jak są takie same to podmienia na indeks pola literki z macierzy). Chciałem wypełniać macierz po kolei pojedynczymi literami, ale program wypełnia całą macierz od razu tylko jedną. Dopiero zaczynam z JAVA i wszelkie rady są mile widziane.
import java.util.Arrays;
import java.util.Scanner;
class Koduj
{
private String[][] Macierz = new String[5][5];
public void setMacierz(String we)
{
for(int i=0; i<5;i++)
for(int j=0; j<5; j++)
{
Macierz[i][j] = we;
}
wyswietl(Macierz);
}
public void wyswietl(String[][] Macierz)
{
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
System.out.print(Macierz[i][j] + "\t");
}
System.out.println("");
}
System.out.println("");
}
public void setKey(String[][] Macierz)
{
int[] s = new int[2];
for(int i=0; i<5;i++)
for(int j=0; j<5; j++)
{
s[0] = i;
s[1] = j;
Macierz[i][j] = String.valueOf(s);
}
}
public void Code(String wej)
{
if(wej.equals(Macierz))
{
setKey(Macierz);
wej = Macierz.toString();
}
else
wej = wej;
System.out.println(wej);
}
}
public class lab02_01 {
public static void main(String[] args){
int wybor;
int x = 0;
int y = 0;
Scanner scan = new Scanner(System.in);
String we;
String wej = new String();
Koduj k = new Koduj();
System.out.println("1. wprowadzanie wartosci macierzy");
System.out.println("2. wprowadzanie slowa");
wybor = scan.nextInt();
switch(wybor)
{
case 1:
{
System.out.println("wprowadz wartosci macierzy");
for(int i = 0; i < 24; i++)
{
we = scan.nextLine();
System.out.println(we);
k.setMacierz(we);
}
System.out.println("2. wprowadzanie slowa");
wybor = scan.nextInt();
}break;
case 2:
{
System.out.println("wprowadz slowo");
wej = scan.nextLine();
for(int i = 0; i < wej.length();i++)
{
wej.charAt(i);
k.Code(wej);
}
}break;
}
}
}