Please help me to find out why this code is error
Please help me to find out why this code is error
import java.util.Scanner;
class TwoIntegers
{
private int m;
private int n;
public TwoIntegers(int m, int n)
{
this.m = m;
this.n = n;
}
private int length(int x)
{
return String.valueOf(x).length();
}
private int countDigits(int x, int aDigit)
{
int count = 0;
String xx = String.valueOf(x);
char d = (char)(aDigit + '0');
for (int i = 0; i < xx.length(); i++)
{
char t = xx.charAt(i);
if (t == d)
{
count++;
}
}
return count;
}
public boolean areSimilar()
{
if (length(n) != length(m))
{
return false;
}
else
{
for (int i = 0; i < 10; i++)
{
if (countDigits(m, i) != countDigits(n, i))
{
return false;
}
}
return true;
}
}
}
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean end = false;
while (!end)
{
System.out.println("------------------------------------");
System.out.print("Enter two integers: ");
String str = sc.nextLine();
String t[] = str.split(" ");
TwoIntegers ti = new TwoIntegers(Integer.parseInt(t[0]), Integer.parseInt(t[1]));
System.out.printf("%s and %s are ",t[0], t[1]);
if (ti.areSimilar())
{
System.out.printf("similar%n");
}
else
{
System.out.printf("not similar%n");
}
System.out.print("Wish to continue? (Y, y, N, n): ");
char ss = sc.nextLine().charAt(0);;
if (ss == 'N' || ss == 'n')
{
end = true;
}
}
}
}
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images