Java:如何将ip地址转换为二进制和十六进制
我正在创建一个IP转换器。 您必须使用字符串格式的扫描仪键入IP地址 例如:String=“192.168.10.1” 如何使用split方法将字符串转换为二进制 我的转换器:Java:如何将ip地址转换为二进制和十六进制,java,binary,hex,converters,Java,Binary,Hex,Converters,我正在创建一个IP转换器。 您必须使用字符串格式的扫描仪键入IP地址 例如:String=“192.168.10.1” 如何使用split方法将字符串转换为二进制 我的转换器: import java.util.Scanner; public class Adapt { public static void main(String[] args){ int zahl; Scanner scanner = new Scanner(System.in);
import java.util.Scanner;
public class Adapt {
public static void main(String[] args){
int zahl;
Scanner scanner = new Scanner(System.in);
System.out.println("Eingabe Zahl: ");
zahl = scanner.nextInt();
if (zahl > 0 && zahl <= 255) {
String hex = Integer.toHexString(zahl);
String bin = Integer.toBinaryString(zahl);
System.out.println("Hex: " + hex);
System.out.println("Bin: " + bin);
} else {
System.out.println("Eingabe ungültig, nur Zahlen zwischen 0 - 255 verwenden.");
}
}
}
import java.util.Scanner;
公共阶级适应{
公共静态void main(字符串[]args){
国际扎尔;
扫描仪=新的扫描仪(System.in);
System.out.println(“Eingabe Zahl:”);
zahl=scanner.nextInt();
如果(zahl>0&&zahl只需使用zahl.Split(“.”)
,并在单独的片段上使用.tobinarysting()
方法。将输入作为字符串(您已经在问题的第一行中提到)来完成此操作的有效方法之一如下:
public class adapt {
public static void main(String[] args) {
String input = null;
Scanner scanner = new Scanner(System.in);
System.out.println("Eingabe Zahl: ");
input = scanner.nextLine();
String hex = "";
String bin = null;
if (input != null) {
input = input.replace(".", "");
char[] messChar = input.toCharArray();
for (int i = 0; i < messChar.length; i++) {
hex += Integer.toBinaryString(messChar[i]) + " ";
}
bin = Integer.toHexString(Integer.parseInt(input));
System.out.println("Hex: " + hex);
System.out.println("Bin: " + bin);
}
else {
System.out.println("Eingabe ungültig, nur Zahlen zwischen 0 - 255 verwenden.");
}
}
公共类自适应{
公共静态void main(字符串[]args){
字符串输入=null;
扫描仪=新的扫描仪(System.in);
System.out.println(“Eingabe Zahl:”);
输入=scanner.nextLine();
字符串十六进制=”;
字符串bin=null;
如果(输入!=null){
输入=输入。替换(“.”,“”);
char[]messChar=input.toCharArray();
对于(int i=0;i
}将输入按“.”拆分,并将每个部分转换为二进制和十六进制
StringBuilder binary = new StringBuilder();
StringBuilder hexa = new StringBuilder();
Scanner scanner = new Scanner(System.in);
System.out.println("Eingabe Zahl: ");
String zahl = scanner.nextLine();
String[] ipArray = zahl.split("\\.");
for (int i = 0; i < ipArray.length; i++) {
int temp = Integer.parseInt(ipArray[i]);
if (temp > 0 && temp <= 255) {
hexa.append(Integer.toHexString(temp));
hexa.append('.');
binary.append(Integer.toBinaryString(temp));
binary.append('.');
}
}
hexa.deleteCharAt(hexa.length() - 1);
binary.deleteCharAt(binary.length() - 1);
System.out.println("Hex: " + hexa.toString());
System.out.println("Bin: " + binary.toString());
StringBuilder binary=new StringBuilder();
StringBuilder hexa=新的StringBuilder();
扫描仪=新的扫描仪(System.in);
System.out.println(“Eingabe Zahl:”);
字符串zahl=scanner.nextLine();
字符串[]ipArray=zahl.split(“\\”);
对于(int i=0;i 如果(temp>0&&temp,这将离开。在hexa
和binary
字符串的末尾。@TheJavaGuy IvanMilosavljević感谢您的发现:-)我修改了我的答案。