finalização do sistema de verificacão
This commit is contained in:
@@ -246,45 +246,43 @@ public class Mavenproject25 {
|
||||
}
|
||||
}
|
||||
|
||||
public static void verificarNIF(String NIF) {
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
|
||||
while (!NIF.matches("\\d{9}")) {
|
||||
String NIFValido = "";
|
||||
System.out.println("NIF inválido (tem de ter 9 dígitos)\n"
|
||||
+ "Introduza o NIF novamente:");
|
||||
}
|
||||
// Separar os dígitos
|
||||
|
||||
int d1 = Character.getNumericValue(NIF.charAt(0));
|
||||
int d2 = Character.getNumericValue(NIF.charAt(1));
|
||||
int d3 = Character.getNumericValue(NIF.charAt(2));
|
||||
int d4 = Character.getNumericValue(NIF.charAt(3));
|
||||
int d5 = Character.getNumericValue(NIF.charAt(4));
|
||||
int d6 = Character.getNumericValue(NIF.charAt(5));
|
||||
int d7 = Character.getNumericValue(NIF.charAt(6));
|
||||
int d8 = Character.getNumericValue(NIF.charAt(7));
|
||||
int d9 = Character.getNumericValue(NIF.charAt(8));
|
||||
int produto = (d8 * 2) + (d7 * 3) + (d6 * 4) + (d5 * 5) +
|
||||
(d4 * 6) + (d3 * 7) + (d2 * 8) + (d1 * 9);
|
||||
int resto = produto % 11;
|
||||
int digitoControlo;
|
||||
if (resto == 0 || resto == 1){
|
||||
digitoControlo = 0;
|
||||
} else {
|
||||
digitoControlo = 11 - resto;
|
||||
}
|
||||
if(digitoControlo == d9){
|
||||
System.out.println("O NIF é válido");
|
||||
|
||||
} else {
|
||||
System.out.println("O NIF é inválido\n"
|
||||
+ "Introduza um válido:");
|
||||
NIF = scanner.nextLine();
|
||||
System.out.println("O NIF é válido");
|
||||
}
|
||||
|
||||
}
|
||||
public static boolean verificarNIF(String nif) {
|
||||
// Verificar se tem 9 dígitos
|
||||
if (!nif.matches("\\d{9}")) {
|
||||
System.out.println("NIF inválido (tem de ter 9 dígitos)");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Separar os dígitos
|
||||
int d1 = Character.getNumericValue(nif.charAt(0));
|
||||
int d2 = Character.getNumericValue(nif.charAt(1));
|
||||
int d3 = Character.getNumericValue(nif.charAt(2));
|
||||
int d4 = Character.getNumericValue(nif.charAt(3));
|
||||
int d5 = Character.getNumericValue(nif.charAt(4));
|
||||
int d6 = Character.getNumericValue(nif.charAt(5));
|
||||
int d7 = Character.getNumericValue(nif.charAt(6));
|
||||
int d8 = Character.getNumericValue(nif.charAt(7));
|
||||
int d9 = Character.getNumericValue(nif.charAt(8));
|
||||
|
||||
// Cálculo do dígito de controlo
|
||||
int produto = (d8 * 2) + (d7 * 3) + (d6 * 4) + (d5 * 5) +
|
||||
(d4 * 6) + (d3 * 7) + (d2 * 8) + (d1 * 9);
|
||||
int resto = produto % 11;
|
||||
int digitoControlo;
|
||||
|
||||
if (resto == 0 || resto == 1) {
|
||||
digitoControlo = 0;
|
||||
} else {
|
||||
digitoControlo = 11 - resto;
|
||||
}
|
||||
|
||||
// Verificar se o dígito de controlo está correto
|
||||
if (digitoControlo == d9) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void procurarCliente() {
|
||||
@@ -303,10 +301,10 @@ public static void procurarCliente() {
|
||||
String idTitular[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
String numeroTel[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
String email[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
String NIF[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
String nif[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
String saldoTxt[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
|
||||
leExtraiCsvFicheiro(nomeFicheiro, nome, idTitular, numeroTel, email, NIF, saldoTxt);
|
||||
leExtraiCsvFicheiro(nomeFicheiro, nome, idTitular, numeroTel, email, nif, saldoTxt);
|
||||
|
||||
boolean encontrado = false;
|
||||
|
||||
@@ -317,7 +315,7 @@ public static void procurarCliente() {
|
||||
System.out.println("ID: " + idTitular[i]);
|
||||
System.out.println("Telefone: " + numeroTel[i]);
|
||||
System.out.println("Email: " + email[i]);
|
||||
System.out.println("NIF: " + NIF[i] + "\n");
|
||||
System.out.println("NIF: " + nif[i] + "\n");
|
||||
System.out.println("Saldo: " + saldoTxt[i] + "\n");
|
||||
encontrado = true;
|
||||
}
|
||||
@@ -344,10 +342,10 @@ public static void editarDinheiroCliente() {
|
||||
String idTitular[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
String numeroTel[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
String email[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
String NIF[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
String nif[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
String saldo[] = new String[getNumeroLinhasFicheiro(nomeFicheiro)];
|
||||
|
||||
leExtraiCsvFicheiro(nomeFicheiro, nome, idTitular, numeroTel, email, NIF, saldo);
|
||||
leExtraiCsvFicheiro(nomeFicheiro, nome, idTitular, numeroTel, email, nif, saldo);
|
||||
|
||||
int indiceEditar = -1;
|
||||
|
||||
@@ -381,9 +379,9 @@ public static void editarDinheiroCliente() {
|
||||
String novoEmail = scanner.nextLine();
|
||||
if (!novoEmail.isEmpty()) email[indiceEditar] = novoEmail;
|
||||
|
||||
System.out.print("Novo NIF (atual: " + NIF[indiceEditar] + "): ");
|
||||
System.out.print("Novo NIF (atual: " + nif[indiceEditar] + "): ");
|
||||
String novoNIF = scanner.nextLine();
|
||||
if (!novoNIF.isEmpty()) NIF[indiceEditar] = novoNIF;
|
||||
if (!novoNIF.isEmpty()) nif[indiceEditar] = novoNIF;
|
||||
|
||||
// Reescrever o ficheiro com os dados atualizados
|
||||
StringBuilder conteudoAtualizado = new StringBuilder();
|
||||
@@ -392,7 +390,7 @@ public static void editarDinheiroCliente() {
|
||||
.append(idTitular[i]).append(",")
|
||||
.append(numeroTel[i]).append(",")
|
||||
.append(email[i]).append(",")
|
||||
.append(NIF[i]).append("\n")
|
||||
.append(nif[i]).append("\n")
|
||||
.append(saldo[i]).append("\n");
|
||||
}
|
||||
|
||||
@@ -427,8 +425,17 @@ public static void editarDinheiroCliente() {
|
||||
System.out.print("║Introduza o ID: ");
|
||||
String idTitular = scanner.next();
|
||||
System.out.print("╠════════════════════════════════════════\n");
|
||||
|
||||
String nif;
|
||||
System.out.print("║Introduza NIF: ");
|
||||
String nif = scanner.next();
|
||||
nif = scanner.next();
|
||||
|
||||
while(!verificarNIF(nif)) {
|
||||
System.out.println("║NIF inválido!\n"
|
||||
+ "║Introduza NIF novamente:");
|
||||
nif = scanner.next();
|
||||
System.out.print("╠════════════════════════════════════════\n");
|
||||
}
|
||||
System.out.print("╠════════════════════════════════════════\n");
|
||||
System.out.print("║Introduza número: ");
|
||||
String NumeroTel = scanner.next();
|
||||
@@ -445,7 +452,7 @@ public static void editarDinheiroCliente() {
|
||||
System.out.print("╠════════════════════════════════════════\n");
|
||||
|
||||
}
|
||||
|
||||
System.out.print("╠════════════════════════════════════════\n");
|
||||
double saldo;
|
||||
System.out.print("║Introduza saldo(Min: 60€): ");
|
||||
saldo = scanner.nextDouble();
|
||||
@@ -472,4 +479,4 @@ public static void editarDinheiroCliente() {
|
||||
// procurarCliente();
|
||||
//
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user