Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Chapter2 {
- // Γεμιζω τον πινακα με τα ψηφια του αριθμου
- public void fillTheArray(int number,int a[]){
- for(int i=0;i<4;i++){
- a[i] = number % 10;
- number /= 10;
- }
- }
- // περνω τον αριθμο απο τα ψηφια του που ειναι στον πινακα
- public int gainNumber(int a[]){
- int number=0;
- for(int k:a){
- number = number * 10 + k;
- }
- System.out.println(number);
- return number;
- }
- // οτι και απο πανω αλλα αντιστροφα
- public int gainRevertNumber(int[] a){
- int number=0;
- for(int i=3;i>=0;i--){
- number = number * 10 + a[i];
- }
- System.out.println(number);
- return number;
- }
- public static void main(String[] args){
- // scanner για input
- Scanner scanner = new Scanner(System.in);
- // instance για να χρησημοποιησω τις μεθοδους της κλασεις
- Chapter2 obj = new Chapter2();
- // πινακας στον οποιο θα μπενουν τα ψηφια
- int[] numberDigits = new int[4];
- // μεταβλητες οι οποιες θα γινετε η αφερεση
- int max,min;
- // Διαβαζω απο την consola τον αριθμο
- int number = scanner.nextInt();
- // Γεμιζω το array
- obj.fillTheArray(number, numberDigits);
- // μεχρι να φτασω τον αριθμο
- while(number != 6174){
- // ταξινομιση
- Arrays.sort(numberDigits);
- // το μεγαλυτερο ειναι revert διοτι εχει ταξυνομηθει μικροτερο --> μεγαλυτερο
- max = obj.gainRevertNumber(numberDigits);
- // το μικροτερο ειναι κανονικα τα ψηφια του πινακα
- min = obj.gainNumber(numberDigits);
- // ο αριθμος ειναι max-min
- number = max - min;
- //και ξανα βαζω στο array τα ψηφια του αριθμου
- obj.fillTheArray(number, numberDigits);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement