Question:
Does the IF function only work with Integers or does it also work with String? I was trying to create a program that would ask if you are sure you want to create the password. You can check the code below:
package com.programas.Verificacao2;
import java.util.Scanner;
public class VoceTemCertezaVerifi {
public static void main(String[] args) {
int campo1 = 0, campo2 = 0;
int sim = 0, não = 0;
String s = "sim";
Scanner in = new Scanner(System.in);
System.out.println("Digite Sua Senha:");
campo1 = in.nextInt();
System.out.println("Digite novamente sua senha:");
campo2 = in.nextInt();
System.out.println("Você tem certeza?");
s = in.nextLine();
if(s == sim) {System.out.println("Senha Criada.");}else{
if(s == não) {System.out.println("Ação Cancelada");
}
}
}
}
Answer:
Para comparar string, use equals
:
String opcao = "sim";
if(opcao.equals("sim")){
System.out.println("Senha Criada.");
else{
System.out.println("Ação Cancelada");
}
From the code posted, you can change the validation so that it receives a String
, then just compare using the example above:
public static void main (String[] args) {
int campo1 = 0, campo2 = 0;
String confirmacao;
Scanner in = new Scanner(System.in);
System.out.println("Digite Sua Senha:");
campo1 = in.nextInt();
System.out.println("Digite novamente sua senha:");
campo2 = in.nextInt();
System.out.println("Você tem certeza?(Digite sim ou nao)");
confirmacao = in.next();
if(confirmacao.equals("sim")) {
System.out.println("Senha Criada.");
}else{
System.out.println("Ação Cancelada");
}
}
Another alternative is to use switch
, so if the person doesn't type anything and hits enter , it's possible to display a different message:
public static void main(String[] args) {
int campo1 = 0, campo2 = 0;
String confirmacao;
Scanner in = new Scanner(System.in);
System.out.println("Digite Sua Senha:");
campo1 = in.nextInt();
System.out.println("Digite novamente sua senha:");
campo2 = in.nextInt();
System.out.println("Você tem certeza?(Digite sim ou nao)");
confirmacao = in.next();
switch (confirmacao) {
case "sim":
System.out.println("Senha Criada.");
break;
case "nao":
System.out.println("Ação Cancelada");
break;
default:
System.out.println("Opção digitada inválida");
}