Olá, Estou começando a programar em Java, e amanhã vou fazer a OBI modalidadde júnior.
Pra quem conhece sabe que na maioria dos exercícios vc tem que dar mais de uma entrada na mesma linha. Eu não sabia disso até hoje, e estou tentando entender como eu uso o StringTokenizer ou o Split para separar a variável mas não tou conseguindo…
eu tentei resolver o primeiro exercicio da OBI passada que está no link http://olimpiada.ic.unicamp.br/extras/provas/ProvaOBI2014_prog_f1nj.pdf. O Código que tentei compilar como solução é esse aqui: import java.util.*;
import java.io.*;
public class fliper {
public static void main(String[] args) {
String saida = "C";
int p;
int r;
boolean Teste;
String pS, rS;
Scanner entrada = new Scanner(System.in);
String input = entrada.next();
StringTokenizer mat = new StringTokenizer(input);
pS = mat.nextToken();
rS = mat.nextToken();
p = Integer.parseInt(pS);
r = Integer.parseInt(rS);
Teste = false;
if (p < 2) {
Teste = true;
}
if (r < 2) {
Teste = true;
}
if (Teste == false) {
if (p == 0) {
saida = "C";
}
if (p == 1) {
if (r == 0) {
saida = "B";
}
if (r == 1) {
saida = "A";
}
}
System.out.println (saida);
}
}
}
mas ele dá o seguinte erro:
Exception in thread “main” java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(Unknown Source)
at obi.fliper.main(fliper.java:15)
Não sei mais o que fazer, alguem pode me ajudar? Estou desesperadoooooo!!!
Valeu
URGENTE! Problemas com StringTokenizer!
P
2 Respostas
StringTokenizer é o que eu usava lá no milénio passado para separar strings, hoje deves usar split.
E, já agora, não vejo porque é que o teu tópico há-de ser mais urgente que os restantes. Aqui ninguém é mais do que os outros…
P
Olá,
desculpe pelo urgente mesmo, é que eu irei fazer a prova amanhã cedo, mas eu também tentei usar o Split e deu o mesmo erro…
Seria algo parecido com isso?? Continua dando o mesmo erro…
import java.util.*;
public class fliper {
public static void main(String[] args) {
String saida = "C";
Scanner entrada = new Scanner(System.in);
String input = entrada.next();
String[] uou = input.split(" ");
int[] mat = new int[uou.length];
int p = mat[0];
int r = mat[1];
boolean Teste = false;
if (p < 2) {
Teste = true;
}
if (r < 2) {
Teste = true;
}
if (Teste == false) {
if (p == 0) {
saida = "C";
}
if (p == 1) {
if (r == 0) {
saida = "B";
}
if (r == 1) {
saida = "A";
}
}
System.out.println (saida);
}
}
}
e o erro:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at obi.fliper.main(fliper.java:11)
Criado 29 de maio de 2015
Ultima resposta 29 de mai. de 2015
Respostas 2
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo