Bora ver se eu começo bem nesse fórum. Tô começando agora em Java. Fiz uma classe denominada Time que segue abaixo:
import java.util.Scanner;
public class Time
{
private int hour;
private int minute;
private String time;
public Time( String timeEntered )
{
time = timeEntered;
}
// Separa a string no formato "00:00"
public separateTime()
{
Scanner input = new Scanner( time );
input.useDelimiter( ":" );
hour = input.nextInt;
minute = input.nextInt;
}
O método separateTime pega a string no formato hh:mm e atribui hh a hour e mm a minute. Fiz uma outra classe para testar esta e usei o construtor com uma entrada do usuário na linha de comando. Quando ele faz uma chamada ao metodo separateTime, um erro em tempo de execução é encontrado. Fiz uns testes e identifiquei que o erro ocorreu quando na linha Scanner input = new Scanner( time );. Ele faz a verificação de tipos e compila porque realmente não existe incompatibilidade, mas só ocorre este erro porque ele tenta usar uma variável de instância (campo). Se eu fizer a mundança da linha para a seguinte: Scanner input = new Scanner( “03:50” ); ele funciona normalmente. Já usei o operador de coerção ( String ) mas não funcionou.
Uso o J2Sdk 5.0.
E agora? O que pode estar ocorrendo?
[size=“11”]
[color=“red”]
- Editado: Aumente as chances de alguém responder o seu tópico. Use BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários. - Matheus[/color][/size] :joia: