Fala galera, estou com um problema relativamente simples, mas não consigo entender pq ele acontece.
Eu tenho 2 classes: Matriz e Matrizes.
A classe Matrizes usa a Matriz.
Na hora que eu compilo a Matriz, vai numa boa. Mas qdo compilo a Matrizes ele não encontra a classe Matriz.
Eles estão numa pasta chamada classes e declarei “package classes” nas duas.
Agora se eu não botar o package, elas compilam certinho.
Alguém tem idéia do q seja?
poste o se código, sem ele não tem jeito de saber o erro que está acontecendo.
em matrizes vc adicionou o import de matriz?
ex.:
import classes.Matriz;
Não adicionei pq eles estão no mesmo pacote.
Aqui vai meu código:
Classe Matriz
package classes;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.StringTokenizer;
public class Matriz {
public ArrayList linhas;
public int numLinhas;
public int numCol;
public Matriz() {
this.linhas = new ArrayList();
try{
File arquivo = new File("matriz.txt");
FileReader reader = new FileReader(arquivo);
BufferedReader leitor = new BufferedReader(reader);
numLinhas=0;
numCol=0;
String linha = null;
linha = leitor.readLine();
StringTokenizer tokenizer = new StringTokenizer(linha, " ");
numCol = tokenizer.countTokens();
ArrayList elementos;
while(linha!=null) {
elementos = new ArrayList();
tokenizer = new StringTokenizer(linha, " ");
while (tokenizer.hasMoreTokens()) {
String argumento = tokenizer.nextToken(); // Retorna os argumentos
elementos.add(argumento);
}
this.linhas.add(elementos);
linha = leitor.readLine();
numLinhas++;
}
leitor.close();
reader.close();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
public void excluirLinha(int linha){
Iterator it = this.linhas.iterator();
int linhaTemp=1;
while(it.hasNext()){
Object obj = it.next();
if(linhaTemp==linha){
it.remove();
break;
}
else
linhaTemp++;
}
}
public void excluirColuna(int coluna){
Iterator itLinha = this.linhas.iterator();
int colTemp=1;
while(itLinha.hasNext()){
Collection elementos = (Collection)itLinha.next();
Iterator itCol = elementos.iterator();
while(itCol.hasNext()){
Object obj = itCol.next();
if(colTemp==coluna){
itCol.remove();
break;
}
else
colTemp++;
}
colTemp=1;
}
this.numCol--;
}
public int getNumLinhas(){
return this.linhas.size();
}
public int getNumCol(){
return this.numCol;
}
public void imprimeMatriz(){
try {
FileWriter writer = new FileWriter(new File("saida.txt"));
PrintWriter saida = new PrintWriter(writer,true);
Iterator itLinha = this.linhas.iterator();
int colTemp=1;
while(itLinha.hasNext()){
Collection elementos = (Collection)itLinha.next();
Iterator itCol = elementos.iterator();
while(itCol.hasNext()){
String num = (String)itCol.next();
System.out.print(num + " ");
saida.print(num + " ");
}
System.out.println("");
saida.println("");
}
saida.close();
writer.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
Classe Matrizes
package classes;
import java.io.IOException;
public class Matrizes {
/**
* @param args
*/
public static void main(String[] args) {
Matriz matriz = new Matriz();
boolean sair=false;
try {
while(!sair){
System.out.println("O que deseja fazer?");
System.out.println("");
System.out.println("[1] Excluir uma linha:");
System.out.println("");
System.out.println("[2] Excluir uma coluna:");
System.out.println("");
System.out.println("[3] Sair");
System.out.println("");
byte[] b = new byte[10]; //buffer
System.in.read(b);
int number = Integer.parseInt(new String(b).trim());
if(number==1){
System.out.print("A matriz tem ");
System.out.print(matriz.getNumLinhas());
System.out.println(" linhas.");
System.out.println("");
System.out.println("Qual linha deseja apagar?");
System.out.println("");
b = new byte[10]; //buffer
System.in.read(b);
number = Integer.parseInt(new String(b).trim());
if(number > matriz.getNumLinhas())
System.out.println("Número de linha inválido.");
else
matriz.excluirLinha(number);
}
else if(number==2){
System.out.print("A matriz tem ");
System.out.print(matriz.getNumCol());
System.out.println(" colunas.");
System.out.println("");
System.out.println("Qual coluna deseja apagar?");
System.out.println("");
b = new byte[10]; //buffer
System.in.read(b);
number = Integer.parseInt(new String(b).trim());
if(number > matriz.getNumCol())
System.out.println("Número de coluna inválido.");
else
matriz.excluirColuna(number);
}
else if(number==3){
matriz.imprimeMatriz();
sair=true;
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
[quote=marcosharbs]em matrizes vc adicionou o import de matriz?
ex.:
import classes.Matriz;
[/code][/quote]
ou assim
[code] classes.Matriz = matriz = classes.Matriz();
das duas formas resolve o seu problema
Mas elas estão no mesmo pacote, não precisaria dar import.
E mesmo assim com o import não funcionou…
qual erro está dando??
Diz que não consegue encontrar a classe matriz.
No eclipse isso funciona numa boa. Mas na mão não funciona.