kayra_1907
Hectopat
- Katılım
- 27 Temmuz 2019
- Mesajlar
- 21
Java:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner giris = new Scanner(System.in);
System.out.println("Şifre: ");
String sifre = giris.nextLine();
if (sifreBelirleme(sifre))
System.out.println("Şifreniz onaylandı.");
else
System.out.println("Tekrar şifre oluşturunuz.");
}
static boolean sifreBelirleme(String sifre) {
int count = 0;
String ozelKarakterler = "!'^$%&/()=?><£#{[]}|*é";
if (sifre.length() < 8) {
System.out.println("Şifrede en az 8 karakter olmalı.");
return false;
}
for (int i = 0; i < sifre.length(); i++) {
for (int j = 0; j < ozelKarakterler.length(); j++) {
if (sifre.charAt(i) == ozelKarakterler.charAt(j)) {
System.out.println("Şifre özel karakter içermemelidır.");
return false;
}
}
}
for (int i = 0; i < sifre.length(); i++) {
if (Character.isDigit(sifre.charAt(i))) {
count++;
}
}
if (count < 2) {
System.out.println("Şifrede en az 2 rakam olmalı.");
}
return false;
}
}
Burada en sondaki return falsedan dolayı şifre doğru girilse bile tekrar şifre oluşturunuz diyor. Nasıl düzeltebilirim?
Hatamı anladım konu kapanabilir.Java:import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner giris = new Scanner(System.in); System.out.println("Şifre: "); String sifre = giris.nextLine(); if (sifreBelirleme(sifre)) System.out.println("Şifreniz onaylandı."); else System.out.println("Tekrar şifre oluşturunuz."); } static boolean sifreBelirleme(String sifre) { int count = 0; String ozelKarakterler = "!'^$%&/()=?><£#{[]}|*é"; if (sifre.length() < 8) { System.out.println("Şifrede en az 8 karakter olmalı."); return false; } for (int i = 0; i < sifre.length(); i++) { for (int j = 0; j < ozelKarakterler.length(); j++) { if (sifre.charAt(i) == ozelKarakterler.charAt(j)) { System.out.println("Şifre özel karakter içermemelidır."); return false; } } } for (int i = 0; i < sifre.length(); i++) { if (Character.isDigit(sifre.charAt(i))) { count++; } } if (count < 2) { System.out.println("Şifrede en az 2 rakam olmalı."); } return false; } }
Burada en sondaki return falsedan dolayı şifre doğru girilse bile tekrar şifre oluşturunuz diyor. Nasıl düzeltebilirim?
Son düzenleme: