import java.util.*;
class Test{
private int intToken;
public Test(){
intToken = 0;
}
// A method that returns the last character of a String
// This here returns a string regardless of input
public String lastChar(String tok){
String token = String.valueOf(tok);
String strToken = token.substring(token.length()-1);
return strToken;
}
public static void main(String[]args){
Test test = new Test();
Scanner scan = new Scanner(System.in);
System.out.println("Enter a number to get its last number");
String value = scan.nextLine();
System.out.println(test.lastChar(value));
}
}
The code above method lastChar()
works for both Integer
and String. Since I am practicing programming, I really wanted to create a single method that returns either a String
or Integer
but within the method I wanted to detect if the input is an Integer
or String
.
Just after the methods creation, I first experimented with
Scanner scan = new Scanner(tok);
scan.hasNextInt();
returned false
even when there was int
in tok
.
I also tried
tok.contains("0,1,2,3,4,5,6,7,8,9");
It also returned false
even when there was int
in tok
. I have yet to study char
type. but what I noticed was that tok.contains("1");
returned true
.
I wanted to use the boolean
result to create separate handlers for String
and Integer
. Well the code works so far.
Now my question is if it is a safe or good practice to use a single method like
lastChar()
, or should I define two separate methods lastInt()
and lastStr()