I am trying to print all unique possibilities of 1 2 3 4 5 with + - * / One would look like 1+2-3*4/5 Another possibility would have the numbers rearranged or operations rearranged. I thought my mistake was an infinite loop, but it prints the final term 47 at the end. Please help.
import java.util.Scanner;
import java.lang.Math;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] all = new int[47];
System.out.print(all.length);
int b = 0;
int c = 0;
for (int count = 0; count < 47;) {
int num1 = (int) (Math.random() * 5 + 1);
int num2 = num1;
while (num2 == num1) {
num2 = (int) (Math.random() * 5 + 1);
}
int num3 = num2;
while ((num3 == num1) || (num3 == num2)) {
num3 = (int) (Math.random() * 5 + 1);
}
int num4 = num3;
while ((num4 == num1) || (num4 == num2) || (num4 == num3)) {
num4 = (int) (Math.random() * 5 + 1);
}
int num5 = num4;
while ((num5 == num1) || (num5 == num2) || (num5 == num3) || (num5 == num4)) {
num5 = (int) (Math.random() * 5 + 1);
}
int numbers1 = num1 + num2 - num3 * num4 / num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers1) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers1;
count++;
}
}
int numbers2 = num1 + num2 - num3 / num4 * num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers2) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers2;
count++;
}
}
int numbers3 = num1 + num2 / num3 - num4 * num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers3) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers3;
count++;
}
}
int numbers4 = num1 + num2 / num3 * num4 - num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers4) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers4;
count++;
}
}
int numbers5 = num1 + num2 * num3 / num4 - num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers5) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers5;
count++;
}
}
int numbers6 = num1 + num2 * num3 - num4 / num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers6) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers6;
count++;
}
}
int numbers7 = num1 - num2 + num3 / num4 * num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers7) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers7;
count++;
}
}
int numbers8 = num1 - num2 + num3 * num4 / num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers8) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers8;
count++;
}
}
int numbers9 = num1 - num2 / num3 + num4 * num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers9) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers9;
count++;
}
}
int numbers10 = num1 - num2 / num3 * num4 + num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers10) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers10;
count++;
}
}
int numbers11 = num1 - num2 * num3 / num4 + num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers11) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers11;
count++;
}
}
int numbers12 = num1 - num2 * num3 + num4 / num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers12) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers12;
count++;
}
}
int numbers13 = num1 / num2 * num3 - num4 + num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers13) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers13;
count++;
}
}
int numbers14 = num1 / num2 * num3 + num4 - num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers14) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers14;
count++;
}
}
int numbers15 = num1 / num2 + num3 * num4 - num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers15) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers15;
count++;
}
}
int numbers16 = num1 / num2 + num3 - num4 * num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers16) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers16;
count++;
}
}
int numbers17 = num1 / num2 - num3 * num4 + num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers17) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers17;
count++;
}
}
int numbers18 = num1 / num2 - num3 + num4 * num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers18) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers18;
count++;
}
}
int numbers19 = num1 * num2 / num3 - num4 + num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers19) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers19;
count++;
}
}
int numbers20 = num1 * num2 / num3 + num4 - num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers20) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers20;
count++;
}
}
int numbers21 = num1 * num2 + num3 - num4 / num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers21) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers21;
count++;
}
}
int numbers22 = num1 * num2 + num3 / num4 - num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers22) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers22;
count++;
}
}
int numbers23 = num1 * num2 - num3 / num4 + num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers23) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers23;
count++;
}
}
int numbers24 = num1 * num2 - num3 + num4 / num5;
for (int i = 0; i < all.length; i++)
{
if (all[i] == numbers24) {
b = 1;
}
if ((b != 1) && (i == (all.length - 1))) {
all[count] = numbers24;
count++;
}
}
}
for (c = 0; c < all.length; c++) {
if (c > 0) {
System.out.print(", ");
}
System.out.print(all[c]);
}
System.out.print(all.length);
}
}