Porque está dando esse erro no netbeans? Eu quero que meu programa verifique o serial, mas dá esse erro:

8 respostas
java
R

Erro:

Exception in thread “main” java.util.NoSuchElementException

at java.util.Scanner.throwFor(Scanner.java:862)

at java.util.Scanner.next(Scanner.java:1371)

at answer.or.loss.AnswerOrLoss.main(AnswerOrLoss.java:61)

C:\Users\CCE\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1

FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)

Código do meu programa:

package answer.or.loss;

// Importações:
import java.io.FileNotFoundException;
import java.util.Scanner;
import javax.swing.JOptionPane;
import java.io.FileWriter; 
import java.io.File;
import java.io.IOException;

// |FIM DAS IMPORTAÇÕES|

public class AnswerOrLoss {
	public static void main(String[] args) throws FileNotFoundException, IOException {
		String PrFiles = "C:\\Answer or Loss\\";
		
		File dir = new File("C:\\Answer or Loss");
		File SerialTxtArq = new File(PrFiles + "Serial.sra");
		FileWriter SerialTxtArqNot = new FileWriter(new File(PrFiles + "Serial.sra"));
		
		if (dir.mkdir()) {
			System.out.println("Diretorio criado com sucesso!");
		} else {
			System.out.println("Diretório já existe");
		}
		
		if(SerialTxtArq.exists()) {
		
		} else {
			try {
				SerialTxtArqNot.write("abc");
			} catch (IOException e) {
				e.printStackTrace();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		
		String App = "Answer or Loss";
		String SerialTxt = new Scanner(new File(PrFiles + "Serial.sra"), "UTF-8").useDelimiter("\\A").next();
		String SerialCode = SerialTxt;
		boolean VerificaçãoDeLicença = true;
		
		while (VerificaçãoDeLicença) {
			if (("i9M1-a09Q-iO6E-9lPm-mqA6-Ta82-jioe-0lHa-1067-0m0P-A1vr-NZf4-lOo3-lC28".equals(SerialCode))) {
				JOptionPane.showMessageDialog(null, "Registrado!");
			}
			
			if ((!"i9M1-a09Q-iO6E-9lPm-mqA6-Ta82-jioe-0lHa-1067-0m0P-A1vr-NZf4-lOo3-lC28".equals(SerialCode))) {
				SerialCode = JOptionPane.showInputDialog(null, "Código do Serial do Produto: \n" + "Answer or Loss", "Não Registrado", -1);
            
				if (("i9M1-a09Q-iO6E-9lPm-mqA6-Ta82-jioe-0lHa-1067-0m0P-A1vr-NZf4-lOo3-lC28".equals(SerialCode))) {
					try {
						SerialTxtArqNot.write(SerialCode);
						VerificaçãoDeLicença = false;
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
			}
		}
		
		//...
	}
    }

8 Respostas

B

Sem Scanner (SerialTxt) esta vindo algo dentro?

Porque você fez isso?

String SerialTxt = new Scanner(new File(PrFiles + "Serial.sra"), "UTF-8")
                                             .useDelimiter("\\A").next();
String SerialCode = SerialTxt;
  • Já não era uma String?
  • Porque colocar em outra String?
R

percebi isso, então tirei, mas ainda continua com aquele erro.

B
  • E o seu scanner?

String SerialTxt = new Scanner(new File(PrFiles + "Serial.sra"), "UTF-8")
                                              .useDelimiter("\A").next();

  • O que esta vindo nele?

  • A variável SerialTxt qual o valor dela depois de pegar o valor do Scanner?
R

Você checou se aqui

String SerialTxt = new Scanner(new File(PrFiles + "Serial.sra"), "UTF-8")
                                             .useDelimiter("\\A").next();

esta concatenando correto? Imprime isso para ver se esta concatenando de forma correta.

e como o amigo marcogabriel30 falou, não faz muito sentido jogar uma string dentro da outra.

R

eu não entendi o que vocês falaram, pois eu sou meio iniciante em java. Se possível, mostre pra mim o código de como concertar isso, por que, como eu disse, “eu sou meio iniciante em java”.

R

Como assim concatenando?

B

Raylan7 vamos do inicio

Você sabe subir o Tomcat em modo debugar?

Se sim entre com ele em modo debug, e insira um breakpoint da linha

String SerialTxt = new Scanner(new File(PrFiles + "Serial.sra"), "UTF-8")
                                             .useDelimiter("\\A").next();

Após o debug passar por essa linha (se não der erro) nos diga o que vem nessa variavel SerialText (selecione ela depois que o debug passar por ela e aperte Ctrl+Shift+I)

Se não sabe debugar siga esse tutorial aqui pra aprender o debug:

https://www.youtube.com/watch?v=HZG-p7lxx2s

https://www.caelum.com.br/apostila-java-orientacao-objetos/apendice-debugging/

Quando tiver o valor da variável passa pra gente ver ai

R

essa sequencia. Se ele “junta” o PrFiles com o que esta no Serial.sra.
mas o que o marcogabriel30 sugeriu é o ponto chave para vc identificar o erro no ponto

Criado 12 de julho de 2016
Ultima resposta 12 de jul. de 2016
Respostas 8
Participantes 4