﻿ Java exercises: Create and display unique three-digit number using 1, 2, 3, 4. Also count how many three-digit numbers are there - w3resource

# Java Exercises: Create and display unique three-digit number using 1, 2, 3, 4. Also count how many three-digit numbers are there

## Java Basic: Exercise-39 with Solution

Write a Java program to create and display unique three-digit number using 1, 2, 3, 4. Also count how many three-digit numbers are there.

Pictorial Presentation:

Sample Solution:

Java Code:

``````import java.util.Scanner;

public class Exercise39 {

public static void main(String[] args) {
int amount = 0;
for(int i = 1; i <= 4; i++){
for(int j = 1; j <= 4; j++){
for(int k = 1; k <= 4; k++){
if(k != i && k != j && i != j){
amount++;
System.out.println(i + "" + j + "" + k);
}
}
}
}
System.out.println("Total number of the three-digit-number is " + amount);
}
}
```
```

Sample Output:

```123
124
132
134
142
143
213
214
231
234
241
------
431
432
Total number of the three-digit-number is 24
```

Flowchart:

Java Code Editor:

What is the difficulty level of this exercise?

﻿

## Java: Tips of the Day

How to detect a loop in a linked list?

You can make use of Floyd's cycle-finding algorithm, also known as tortoise and hare algorithm.

The idea is to have two references to the list and move them at different speeds. Move one forward by 1 node and the other by 2 nodes.

• If the linked list has a loop they will definitely meet.
• Else either of the two references(or their next) will become null.

Java function implementing the algorithm:

```boolean hasLoop(Node first) {

if(first == null) // list does not exist..so no loop either
return false;

Node slow, fast; // create two references.

slow = fast = first; // make both refer to the start of the list

while(true) {

slow = slow.next;          // 1 hop

if(fast.next != null)
fast = fast.next.next; // 2 hops
else
return false;          // next node null => no loop

if(slow == null || fast == null) // if either hits null..no loop
return false;

if(slow == fast) // if the two ever meet...we must have a loop
return true;
}
}
```

Ref: https://bit.ly/2P6SCq4