Estou tentando resolver um algoritmo em Java, são minhas primeiras tentativas com Java por isso não sei muito bem.
O codigo é o seguinte…
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Map;
import java.util.StringTokenizer;
public class Spoj {
/**
* @param args
*/
class Categoria
{
private int nPalavras;
private Map<String, String> mapa;
private String nome;
Categoria()
{
}
public void setQtdPalavras(int qtd)
{
this.nPalavras = qtd;
}
public int getQtdPalavras()
{
return this.nPalavras;
}
public void setNome(String nome)
{
this.nome = nome;
}
public String getNome()
{
return this.nome;
}
public void setMapa(Map<String, String> map)
{
this.mapa = map;
}
public Map<String, String> getMapa()
{
return this.mapa;
}
}
public static void main(String[] args)throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String casos = in.readLine();
int caso = Integer.parseInt(casos),i,j,k;
int categoria, qtdpalavras;
StringTokenizer token;
ArrayList<Categoria> lista = new ArrayList<Categoria>();
for(i=0;i<caso;i++)
{
casos = in.readLine();
categoria= Integer.parseInt(casos);
for(j=0;j<categoria;j++)
{
Categoria cat = (new Spoj()).new Categoria(); //Aqui esta dando erro....
casos = in.readLine();
token = new StringTokenizer(casos);
cat.setNome(token.nextToken());
qtdpalavras = Integer.parseInt(token.nextToken());
cat.setQtdPalavras(Integer.parseInt(token.nextToken()));
for(k=0;k<qtdpalavras;k++)
{
casos = in.readLine();
cat.getMapa().put(casos, casos);
}
lista.add(cat);
}
while(true)
{
casos = in.readLine();
if(casos.equals(""))
break;
else
{
}
}
}
}
}
Esta dando erro quando eu tento instanciar minha classe interna…não sei se pode ser talvez o Map que esteja errado ou outra coisa…
ClassNotFoundException… acho que estou instanciando errado ou esta faltando alguma coisa no construtor…
Agradeço a ajuda de quem puder ajudar…
Alguem teria um material sobre Java para maratonas de programação.???
Ate mais…