214 lines
8.1 KiB
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");
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|