I’m building an ATM and I have a method in my second class that is suppose to check the login pin to see if it exists in the ArrayList. Though I am new to java and I am not sure on how to do this? I am trying to use arraylistname.contains but I’m not sure if that is right. I will post both my classes.
import java.util.ArrayList;
import java.util.Scanner;
public class BankMain {
ArrayList<Integer> cardNum = new ArrayList<Integer>();
public static void main(String[] args) {
// TODO Auto-generated method stub
BankMain main = new BankMain();
main.menu();
}
public void cardNumbers(){
Scanner cards = new Scanner(System.in);
Scanner input = new Scanner(System.in);
Scanner keyboard = new Scanner(System.in);
System.out.println("Please select a 5 digit card number");
cardNum.add(input.nextInt());
System.out.println("Thank you! You're card number is " +cardNum);
System.out.println("Type 'c' to go back to main menu.");
String value = keyboard.next();
if(value.equalsIgnoreCase("c")){
menu();
}else if (!keyboard.equals('c')){
System.out.println("Invalid Entry!");
}
}
public void menu(){
System.out.println("What Would you like to do today?");
System.out.println();
System.out.println("Create Account = 1");
System.out.println("Login = 2");
System.out.println("Exit = 3");
query();
}
public void query(){
Scanner keyboard = new Scanner(System.in);
double input = keyboard.nextInt();
if (input == 2){
BankMainPart2 main2 = new BankMainPart2();
System.out.println("Please enter your 5 digit card number.");
main2.loginCard(cardNum);
}else if (input == 1){
cardNumbers();
}else if (input == 3){
System.out.println("Thank you, have a nice day!");
System.exit(0);
}
}
}
And, here’s my second class, with the login method:
import java.util.ArrayList;
public class BankMainPart2 {
public static void loginCard(ArrayList<Integer> cardNum){
if (cardNum.contains(0)) {
}
}
}
Yes, it works, but let’s reveal the man behind the curtain here.
What’s going on is called autoboxing. The method you want to use requires an object type.
intis not an object type, butIntegeris. In fact, all primitive types have a boxed object associated with them.Java will happily convert your primitive to a boxed object automatically. This can get dicey, since some internals in Java can play fast and loose, and
Shortautoboxing is just plain weird, so be careful where and when you use it.