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 ta 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…
Agradeço a ajuda de quem puder ajudar…
Alguem teria um material sobre Java para maratonas de programação.???
Esse seu algoritmo está muito confuso. por exemplo casos, algumas vezes você utiliza ele como String passando para inteiro, outras vezes você utiliza ele no Stringtokenizer, mas não dá um delimitador, nao podendo assim pegar outros tokens, como você quer…afinal, o que você quer com essa classe?? o que ela faz??
E o problema, não está na instanciação da classe interna, e sim na hora que faz
Esse seu algoritmo está muito confuso. por exemplo casos, algumas vezes você utiliza ele como String passando para inteiro, outras vezes você utiliza ele no Stringtokenizer, mas não dá um delimitador, nao podendo assim pegar outros tokens, como você quer…afinal, o que você quer com essa classe?? o que ela faz??
E o problema, não está na instanciação da classe interna, e sim na hora que faz [/quote]
Assim…to tentando resolver este problema aqui…
Entao a variavel casos eu utilizo ela varias vezes sim, contenção de variaveis…hehehe
o meu problema ta na linha
Categoria cat = (new Spoj()).new Categoria();
To usando o eclipse, e ele me lança uma excessão… ClassNotFoundException quando chega nesta linha…
O codigo que eu postei não esta completo. eu estava tentando testar as entradas e ele parava naquela linha…
Agradeço se alguem puder ajudar…
Ele le duas linhas e ai entra no for.
na Primeira linha do for ele lança a excessão, não chega na linha – casos = in.readLine();
Não sei o q pode ser…
Qual excessão que lança qdo tenta pegar um novo token?
se puder me ajudar…não sei que erro pode ser. e se eu tentar no NetBeans será que ira fazer diferença.?
Vc teria algum codigo de classe interna…para me passar?
Olá galera preciso resolver este problema… sera que alguem pode me ajudar…
Dada uma seqüência de n números reais (considere n < 100), determinar os números que compõem a seqüência e o número de vezes que cada um deles ocorre na mesma.
Exemplo: n = 8
Seqüência: -1.7, 3.0, 0.0, 1.5, 0.0, -1.7, 2.3, -1,7
Saída: -1.7 ocorre 3 vezes
3.0 ocorre 1 vez
0.0 ocorre 2 vezes
1.5 ocorre 1 vez
2.3 ocorre 1 vez
[quote=james.m.g]Olá galera preciso resolver este problema… sera que alguem pode me ajudar…
Dada uma seqüência de n números reais (considere n < 100), determinar os números que compõem a seqüência e o número de vezes que cada um deles ocorre na mesma.
Exemplo: n = 8
Seqüência: -1.7, 3.0, 0.0, 1.5, 0.0, -1.7, 2.3, -1,7
Saída: -1.7 ocorre 3 vezes
3.0 ocorre 1 vez
0.0 ocorre 2 vezes
1.5 ocorre 1 vez
2.3 ocorre 1 vez[/quote]
coloque o código que voce já fez pra ver onde está o problema