
Originariamente inviata da
Ansharja
Il codice che hai inserito è incompleto, manca il metodo principale della classe (public static void main(String[] argomento))e le varie funzioni non si richiamano tra di loro, come facciamo a sapere il modo in cui volevi legarle?
Inserisci il codice completo e vediamo di darti una mano

main:
codice:
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
String comincia;
int nT=0;
comincia=input.readLine();
while(!comincia.equals("-1"))
{
nT++;
comincia=input.readLine();
String [] array=comincia.split(" ");
int riga=Integer.parseInt(array[0]);
int colonna=Integer.parseInt(array[1]);
Matrice matrice=new Matrice(riga, colonna);
matrice.input(input);
int ris=matrice.numeroTorri();
System.out.println("result "+nT);
System.out.println(ris);
comincia=input.readLine();
}
}
}
classe Matrice:
codice:
import java.io.BufferedReader;
import java.io.Console;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.Buffer;
public class Matrice {
String matrice[][];
int riga, colonna;
int cont;
public Matrice(int riga, int colonna)
{
this.colonna=colonna;
this.riga=riga;
cont=0;
matrice=new String[riga][colonna];
}
public void input(BufferedReader input) throws IOException
{
String array[]=new String[colonna];
for(int i=0; i<riga; i++)
{
String x=input.readLine();
array=x.split(" ");
for(int j=0; j<colonna; j++)
{
matrice[i][j]=array[j];
}
}
}
public int controlloSoli()
{
int tot=0;
for(int i=0; i<riga; i++)
{
for(int j=0; j<colonna;j++)
{
if(matrice[i][j].equals("*"))
{
matrice[i][j]="C";
tot++;
}
}
}
System.out.println("il totale e"+" "+tot);
return tot;
}
public int primoAngolo()
{
int contoPrimoAngolo=0;
// System.out.println("primo angolo"+ " "+contoPrimoAngolo);
for(int i=0; i<riga;i++)
{
for(int j=0; j<colonna;j++)
{
if(matrice[i][j].equals("*"))
{
if(j+1<colonna)
{
if(matrice[i][j+1].equals("*") && matrice[i][j].equals("*"))
{
contoPrimoAngolo++;
matrice[i][j]=matrice[i][j+1]="C";
System.out.println("primoangolo"+ " "+contoPrimoAngolo);
stampa();
}
}
if(i+1<riga){
if(matrice[i+1][j].equals("*")&& matrice[i][j].equals("*")){
contoPrimoAngolo++;
matrice[i][j]=matrice[i+1][j]="C";
System.out.println("primoangolo"+ " "+contoPrimoAngolo);
}
}
}
}
}
return contoPrimoAngolo;
}// chiude funzione
public void ripristina()
{
System.out.println("holaaaa");
for(int i=0; i<riga; i++)
{
for(int j=0; j<colonna; j++)
{
if(matrice[i][j].equals("C"))
{
matrice[i][j]="*";
}
}
}
}
public int secondoAngolo()
{
int contoSecondoAngolo=0;
for(int i=0; i<riga;i++)
{
for(int j=colonna-1; j<colonna && j>=0;j--)
{
if(matrice[i][j].equals("*"))
{
if(j+1<colonna)
{
if(matrice[i][j+1].equals("*") && matrice[i][j].equals("*"))
{
contoSecondoAngolo++;
matrice[i][j]=matrice[i][j+1]="C";
System.out.println("secondooooo"+ " "+contoSecondoAngolo);
}
}
if(i+1<riga)
{
if(matrice[i+1][j].equals("*")&& matrice[i][j].equals("*"))
{
contoSecondoAngolo++;
matrice[i][j]=matrice[i+1][j]="C";
System.out.println("secondoooooo"+ " "+contoSecondoAngolo);
}
}
}
}
}
return contoSecondoAngolo;
}//
public void ripristina2()
{
for(int i=0; i<riga; i++)
{
for(int j=0; j<colonna; j++)
{
if(matrice[i][j].equals("C"))
{
matrice[i][j]="*";
}
}
}
}
public int terzoAngolo()
{
int contoTerzoAngolo=0;
for(int i=riga-1; i< riga && i >=0;i--)
{
for(int j=0; j<colonna;j++)
{
if(matrice[i][j].equals("*"))
{
if(j+1<colonna)
{
if(matrice[i][j+1].equals("*") && matrice[i][j].equals("*"))
{
contoTerzoAngolo++;
matrice[i][j]=matrice[i][j+1]="C";
System.out.println("terzzzooooooooo"+ " "+contoTerzoAngolo);
}
}
if(i+1<riga)
{
if(matrice[i+1][j].equals("*")&& matrice[i][j].equals("*"))
{
contoTerzoAngolo++;
matrice[i][j]=matrice[i+1][j]="C";
System.out.println("terzzzoooooooooo"+ " "+contoTerzoAngolo);
}
}
}
}
}
return contoTerzoAngolo;
}//
public void ripristina3()
{
for(int i=0; i<riga; i++)
{
for(int j=0; j<colonna; j++)
{
if(matrice[i][j].equals("C"))
{
matrice[i][j]="*";
}
}
}
}
public int quartoAngolo()
{
int contoQuartoAngolo=0;
for(int i=riga-1; i< riga && i >=0;i--)
{
for(int j=colonna-1; j<colonna && j >=0;j--)
{
if(matrice[i][j].equals("*"))
{
if(j+1<colonna)
{
if(matrice[i][j+1].equals("*") && matrice[i][j].equals("*"))
{
contoQuartoAngolo++;
matrice[i][j]=matrice[i][j+1]="C";
System.out.println("qua22222ooooo"+ " "+contoQuartoAngolo);
stampa();
}
}
if(i+1<riga)
{
if(matrice[i+1][j].equals("*")&& matrice[i][j].equals("*"))
{
contoQuartoAngolo++;
matrice[i][j]=matrice[i+1][j]="C";
System.out.println("quartoooooooo"+ " "+contoQuartoAngolo);
}
}
}
}
}
return contoQuartoAngolo;
}//
public int numeroTorri()
{
int counter1,counter2,counter3,counter4,risultato=0;
counter1=counter2=counter3=counter4=0;
//counter uno è 4
counter1=primoAngolo();
counter1+=controlloSoli();
// counter 2 è 4pure
counter2=secondoAngolo();
counter2+=controlloSoli();
// counter 3 è pure 4
counter3=terzoAngolo();
counter3+=controlloSoli();
//counter 4 è 3 risposta essatta
counter4=quartoAngolo();
counter4+=controlloSoli();
if(counter1<counter2 && counter1 <counter3 && counter1<counter4)
{
System.out.println("quarta"+ " "+ counter4);
risultato= counter1;
}
if(counter2<counter1 && counter2< counter3 && counter2<counter4)
{
System.out.println("quarta"+ " "+ counter4);
risultato= counter2;
}
if(counter3<counter1 && counter3<counter2 && counter3 <counter4)
{
risultato= counter3;
}
if(counter4<counter1 && counter4<counter2 && counter4 <counter3)
{
risultato= counter4;
System.out.println("quarta"+ " "+ counter4);
}
return risultato;
}
public void stampa()
{
for(int i=0; i<riga; i++){
System.out.println();
for(int j=0; j<colonna; j++){
System.out.print(matrice[i][j]);
}
}
}
} // chiude classe