This article mainly introduces how to implement the digital black hole algorithm game in Java programming, which involves basic knowledge of Java programming such as arrays, scanners, and if statements. Friends in need can refer to the following
Given any For a 4-digit positive integer with different digits, if we first sort the 4 numbers non-increasingly, then non-decreasingly, and then subtract the second number from the first number, we will get a new number. If we keep doing this repeatedly, we will soon stop at 6174, which is known as the "digital black hole". This magical number is also called the Kaprekar constant.
For example, we start from 6767, we will get
7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
7641 - 1467 = 6174
Now given any 4-digit positive integer, please write a program to demonstrate the process of reaching the black hole.
Input format:
The input gives a positive integer N in the interval (0, 10000).
Output format:
If the 4 digits of N are all equal, output "N - N = 0000" in one line; otherwise Output each step of the calculation in one line until 6174 appears as the difference. See the example for the output format. Note that each number is output in 4-digit format.
Input sample 1:
6767
Output sample 1:
7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
Input sample 2:
2222
Output sample 2:
2222 - 2222 = 0000
The specific code is as follows:
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int ans = ds(x)-xs(x); if(ans==0){ System.out.printf("%04d - %04d = %04d\n",ds(x),xs(x),ans); }else{ int n ; do{ n = ds(x)-xs(x); System.out.printf("%04d - %04d = %04d\n",ds(x),xs(x),n); x = n; }while(n!=6174); } } public static int ds (int x){ int[]a = new int[4]; a[0] = x/1000; a[1] = x/100%10; a[2] = x/10%10; a[3] = x%10; Arrays.sort(a); int sum = a[3]*1000+a[2]*100+a[1]*10+a[0]; return sum; } public static int xs (int x){ int[]a = new int[4]; a[0] = x/1000; a[1] = x/100%10; a[2] = x/10%10; a[3] = x%10; Arrays.sort(a); int sum = a[0]*1000+a[1]*100+a[2]*10+a[3]; return sum; } }
The output is as follows:
4695 9654 - 4569 = 5085 8550 - 0558 = 7992 9972 - 2799 = 7173 7731 - 1377 = 6354 6543 - 3456 = 3087 8730 - 0378 = 8352 8532 - 2358 = 6174
Summary
The above is the detailed content of Example of implementing a digital black hole in Java. For more information, please follow other related articles on the PHP Chinese website!

There are subtle differences in Java's performance on different operating systems. 1) The JVM implementations are different, such as HotSpot and OpenJDK, which affect performance and garbage collection. 2) The file system structure and path separator are different, so it needs to be processed using the Java standard library. 3) Differential implementation of network protocols affects network performance. 4) The appearance and behavior of GUI components vary on different systems. By using standard libraries and virtual machine testing, the impact of these differences can be reduced and Java programs can be ensured to run smoothly.

Javaoffersrobustobject-orientedprogramming(OOP)andtop-notchsecurityfeatures.1)OOPinJavaincludesclasses,objects,inheritance,polymorphism,andencapsulation,enablingflexibleandmaintainablesystems.2)SecurityfeaturesincludetheJavaVirtualMachine(JVM)forsand

JavaScriptandJavahavedistinctstrengths:JavaScriptexcelsindynamictypingandasynchronousprogramming,whileJavaisrobustwithstrongOOPandtyping.1)JavaScript'sdynamicnatureallowsforrapiddevelopmentandprototyping,withasync/awaitfornon-blockingI/O.2)Java'sOOPf

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM)andbytecode.1)TheJVMinterpretsbytecode,allowingthesamecodetorunonanyplatformwithaJVM.2)BytecodeiscompiledfromJavasourcecodeandisplatform-independent.However,limitationsincludepotentialp

Java'splatformindependencemeansapplicationscanrunonanyplatformwithaJVM,enabling"WriteOnce,RunAnywhere."However,challengesincludeJVMinconsistencies,libraryportability,andperformancevariations.Toaddressthese:1)Usecross-platformtestingtools,2)

JVM'sperformanceiscompetitivewithotherruntimes,offeringabalanceofspeed,safety,andproductivity.1)JVMusesJITcompilationfordynamicoptimizations.2)C offersnativeperformancebutlacksJVM'ssafetyfeatures.3)Pythonisslowerbuteasiertouse.4)JavaScript'sJITisles

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),allowingcodetorunonanyplatformwithaJVM.1)Codeiscompiledintobytecode,notmachine-specificcode.2)BytecodeisinterpretedbytheJVM,enablingcross-platformexecution.3)Developersshouldtestacross

TheJVMisanabstractcomputingmachinecrucialforrunningJavaprogramsduetoitsplatform-independentarchitecture.Itincludes:1)ClassLoaderforloadingclasses,2)RuntimeDataAreafordatastorage,3)ExecutionEnginewithInterpreter,JITCompiler,andGarbageCollectorforbytec


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

Dreamweaver Mac version
Visual web development tools

SublimeText3 Chinese version
Chinese version, very easy to use

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 English version
Recommended: Win version, supports code prompts!
