exercicios/src/main/java/com/mycompany/mavenproject29/Mavenproject29.java

214 lines
8.1 KiB
Java

/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
*/
package com.mycompany.mavenproject29;
import java.util.Scanner;
/**
*
* @author joaomiranda
*/
public class Mavenproject29 {
/***********************************
*
* Exercício 12
*
***********************************/
// public static void main(String[] args) {
// Scanner scanner = new Scanner(System.in);
// double soma = 0;
// for(int i = 0; i < 12 ; i++){
// System.out.println("Introduza o valor da fatura " + (i + 1));
// double valor = scanner.nextDouble();
// soma += valor;
// }
// double media = soma / 12;
// System.out.println("A média das faturas é " + media);
// }
/***********************************
*
* Exercício 13
*
***********************************/
// public static void main(String[] args) {
// for(int i = 0; i <= 1000; i++){
// System.out.println(i);
// }
// }
/****************************************
*
* Exercício 14
*
***************************************/
// public static void main(String[] args) {
// Scanner scanner = new Scanner(System.in);
// //pedir a introdução de um numeor ao utilizador
// System.out.println("Introduza um número positivo");
// int numero = scanner.nextInt();
// //validar o número. voltar a pedri sempre que for negativo
// while(numero <= 0){
// System.out.println("Número inválido. Introduza novamente");
// numero = scanner.nextInt();
// }
// //percorre todos os números entre 0 e o número definido
// //verifica se cada um dos número é ímpar e mostra o que forem
// for(int i = 0; i < numero; i++){
// if(i % 2 != 0){
// System.out.println(i);
// }
// }
// }
// public static void main(String[] args) {
// for(int i = 2; i <= 1000; i++){
// boolean primo = true;
// for(int j = 2; j < i ; j++){
// if(i % j == 0){
// primo = false;
// break;
// }
// }
// if(primo){
// System.out.println(i);
// }
// }
// }
// public static void main(String[] args) {
// Scanner scanner = new Scanner(System.in);
// System.out.println("Introduza o seu nome");
// String nome = scanner.nextLine();
// System.out.println("Introduza a sua idade");
// int idade = scanner.nextInt();
// scanner.nextLine(); //limpeza do buffer
// System.out.println("Introduza a sua morada");
// String morada = scanner.nextLine();
//
//principais funções das strings em JAVA
// nomeDaString.charAt(posicaoDoCarater) -
// obtenção de um caracter numa posicao
// nomeDaString.contains(textoOuVariavelAVerificar) -
// verifica se a String contem um determinado texto
// nomeDaString.endsWith(textoOuVariavelAVerificar) -
// verifica se a String termina com um determinado texto
// nomeDaString.startsWith(textoOuVariavelAVerificar) -
// verifica se a String começa com um determinado texto
// nomeDaString.equals(textoOuVariavelAVerificar) -
// verifica se duas Strings são iguais
// nomeDaString.indexOf(caracterAProcurar) -
// devolve a primeira posição do caracter a procurar
// nomeDaString.lastIndexOf(caracterAProcurar) -
// devolve a última posição do caracter a procurar
// nomeDaString.isEmpty() - verifica se a String está vazia
// nomeDaString.isBlank() - verifica se a String está vazia
// nomeDaString.subString(posicaoInicial) -
// corta a String a partir da posição indicada
// nomeDaString.subString(posicaoInicial, posicaoFinal) -
// corta a String entre as posições indicadas
// nomeDaString.toLowerCase() - passa a String para minúsculas
// nomeDaString.toUpperCase() - passa a String para maiúsculas
// nomeDaString.lenght() - retorna o tamanho da string
//}
// public static void main(String[] args) {
// Scanner scanner = new Scanner(System.in);
// System.out.println("Introduza o seu nome");
// String nome = scanner.nextLine();
//
// System.out.println("A quantidade de carcteres é "
// + nome.length());
// System.out.println("Em maiusculas: "
// + nome.toUpperCase());
// System.out.println("Em minusculas: "
// + nome.toLowerCase());
// System.out.println("Contem campos? "
// + nome.contains("campos"));
// System.out.println("O primeiro caracter é: "
// + nome.charAt(0));
// int contador = 0;
// for(int i = 0; i < nome.length(); i++){
// if(nome.charAt(i) == 'a'){
// contador++;
// }
// }
// System.out.println("O nome tem " + contador
// + " a's");
// }
public static void main(String[] args) {
// //coversão entre tipos de dados
// //conversão de um tipo de dado para String
// String.valueOf(valorAConverter)
// //conversão de String para int
// Integer.parseInt(stringAConverter)
// //coversão de String para double
// Double.parseDouble(stringAConverter)
// //conversão de String para float
// Float.parseFloat(stringAConverter)
// //conversão de String para long
// Long.parseLong(stringAConverter)
// Scanner scanner = new Scanner(System.in);
// System.out.println("Introduza um número");
// String numero = scanner.nextLine();
// int numeroInteiro = Integer.parseInt(numero);
// double numeroDouble = Double.parseDouble(numero);
// for(int i = 0; i < 11; i++){
// System.out.println(i);
// }
//
// for(int i = 10; i > -1; i--){
// System.out.println(i);
// }
//
// Desenvolve um programa, que solicite os 9 dígitos de um nif(deve ser pedido um digito de cada vez). No final, o programa deverá informar se o nif é válido.
//a. O NIF tem 9 dígitos, sendo o último o digito de controlo. Para ser calculado o digito de controlo:
//b. Multiplique o 8.º dígito por 2, o 7.º dígito por 3, o 6.º dígito por 4, o 5.º dígito por 5, o 4.º dígito por 6, o 3.º dígito por 7, o 2.º dígito por 8 e o 1.º dígito por 9;
//c. Some os resultados;
//d. Calcule o resto da divisão do número por 11;
//e. Se o resto for 0 (zero) ou 1 (um) o dígito de controlo será 0 (zero);
//f. Se for outro qualquer algarismo X, o dígito de controlo será o resultado da subtracção 11 - X.
Scanner scanner = new Scanner(System.in);
System.out.println("NIF?");
String nif = scanner.nextLine();
if(nif.length() != 9){
System.out.println("Inválido");
}
else{
int multiplicador = 9;
int soma = 0;
for(int i = 0; i < nif.length() - 1; i++){
int digito =
Integer.parseInt(
String.valueOf(nif.charAt(i)));
int multiplicacao = digito * multiplicador;
soma += multiplicacao;
multiplicador--;
}
int resto = soma % 11;
int digitoControlo;
if (resto == 0 || resto == 1) {
digitoControlo = 0;
}
else{
digitoControlo = 11 - resto;
}
int nonoDigito = Integer.parseInt(String.valueOf(nif.charAt(8)));
if(nonoDigito == digitoControlo){
System.out.println("Válido");
}
else{
System.out.println("Inválido");
}
}
}
}