ile karşılaştırmaya çalışıyorum Bir dizenin herhangi bir satırında bir dizgi oluşup oluşmayacağını ve varsa bir satırda yazdırılmaya çalışıyorum.Dosya verilerini String
Şu anda konsolda, if
ve else
ifadelerimden çıktılar yazdırıyor. Nerede yanlış gittiğimi anlayamıyorum. Her iki değerde de true
veya false
istiyorum. Bu benim konsolda elde ediyoruz: Açıkçası ek kod vardır
public void checkString() {
int line = 0;
//fileString = false;
while (scanner.hasNext()) {
String str = scanner.nextLine();
System.out.println(line + ": " + str);
line++;
if (str.contains(string)) {
System.out.println("File String," + string);
fileString = true;
} else {
System.out.println("String False");
}
}
}
, bu şimdiye kafayı am bölümdür:
0: - String False 1: File String, ThisString String False
İşte benim yöntemidir. Okumakta olduğu belirli bir dosyaya giden bir yolu izler. Soruyla ilgili daha fazla bilgi: Kod doğruysa ve false veya else
ifadesinde tamamen farklı bir işlem olduğunda bir eylem gerçekleştirmek istiyorum. Eğer dizeyi içeren satırı bulma konusunda gidebiliriz
Eh, bir döngü içinde ve döngü boyunca ilk kez bir şey yazdırır ve ikinci kez başka bir şey yazdırır. Yani bu yüzden iki çıktı görüyorsun. Döngünün dışında bir şey yazdırmak istediğiniz gibi geliyor, ama sorunuz tamamen belirsiz ve ne başarmak istediğiniz hakkında hiçbir fikrim yok. – ajb
Yaptığım bir dosyayı okumak için kodu almaya çalışıyordum. Sonra her satırın, sınıfımda bildirdiğim bir String değerine göre karşılaştırılmasını istiyorum. Eğer satır benim dizgimi içerirse ya da tam tersi olursa, dizenin dosya içinde olduğunu söylesin, eğer istemiyorsa, bunun olmadığını söylemek istiyorum. Yukarıdaki işlemleri basit bir kodla denedim ve biraz kafam karıştı. –
Bu yüzden, satır dizeyi içeriyorsa, dosyanın dizeyi içerdiğini biliyorsunuz, bu yüzden daha fazla dosyayı okumak zorunda değilsiniz, değil mi? Bir 'break' deyimini kullanabilirsiniz. Diğer yandan, dosyanın tamamını okuyana kadar dosyanın dizeyi içermediğini söyleyemezsiniz. Yani, dosyanın dizeyi içermediğini söyleyen satır, döngüden sonraya kadar yazdırılamaz. – ajb