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