Manipulação de Strings

Bom dia pessoal

Estou com os seguintes problemas:

1º-
No código abaixo eu tento conferir se uma determinada palavra esta no início da 2º linha de um arquivo

===========================
String linhatest = “”;
String testarel = “P935B019/L001”;
String linhas;
String ret = linhatest.substring(0,13);
if(ret == testarel){//Testa se o form é o correto
System.out.println(“Form correto”);
}
else{
System.out.println(“O Form esta incorreto. O esperado é o “+testarel+”, verifique!!”);
System.out.println(ret);

Out

O Form esta incorreto. O esperado é o P935B019/L001, verifique!!
P935B019/L001

Conforme a comparação da saída a string esta correta e mesmo assim esta informando que não esta.

2º- Tem alguma forma de parar a execução do programa, assim como o “break” para um Looping?

GRato

Antônio César

Vamos lá…
Para String o “operador” == não funciona, tem que usar o :

       if(ret.equals(testarel){//Testa se o form é o correto 
             System.out.println("Form correto"); 
       } 

Quanto ao break funciona normalmente…

É como o fhenriques falou, em objetos == compara referencias não o conteudo, para comparar conteudo de objetos use o metodo equals() de Object:

Quanto a parar a execução, se você quer é sair do programa é só usar System.exit(0);

Ótimo galera. A questão da string funcionou. Só que com relação “System.exit(0)”. Quando eu coloco ele como no exemplo abaixo:

=====
boolean testdir = diretorio.exists(); //verifica se o diretório existe
if (testdir == false){
System.out.println(“O diretório especificado não existe.”);
System.out.println(“Processo cancelado”);
System.exit(0);
}

Neste caso, se o diretório não existir ele deveria me retornar as duas linhas antes do System.exit(0), mas no entanto ele simplesmente encerra o programa e não me mostra nada, como na saída abaixo.

Out

compile:
run:
BUILD SUCCESSFUL (total time: 13 seconds)

Aqui esse codigo funcionou normalmente!

[quote=“acrocha”]Ótimo galera. A questão da string funcionou. Só que com relação “System.exit(0)”. Quando eu coloco ele como no exemplo abaixo:

=====
boolean testdir = diretorio.exists(); //verifica se o diretório existe
if (testdir == false){
System.out.println(“O diretório especificado não existe.”);
System.out.println(“Processo cancelado”);
System.exit(0);
}

Neste caso, se o diretório não existir ele deveria me retornar as duas linhas antes do System.exit(0), mas no entanto ele simplesmente encerra o programa e não me mostra nada, como na saída abaixo.

Out

compile:
run:
BUILD SUCCESSFUL (total time: 13 seconds)
==[/quote]

Se vc quiser para só o metodo pode usar return;