Java: 如何将ip地址转换为二进制和十六进制
Java: How to convert ip address to binary and hex
我正在创建一个 IP 转换器。
您必须使用扫描仪以字符串格式输入 IP 地址。
例如:String = "192.168.10.1"
如何使用拆分方法将字符串转换为二进制?
我的转换器还没有:
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.");
}
}
}
现在如何获取不带点的 IP 地址并将其转换为二进制和十六进制?
输出必须如下所示:1111.1111.1111.1111
只需使用 zahl.Split(".");
并在单独的部分上使用 .toBinaryString()
方法。
通过将您的输入作为字符串(您已经在问题的第一行中提到)来完成此操作的有效方法之一如下:
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.");
}
}
}
用“.”拆分输入并将每个部分转换为二进制和十六进制
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());
我正在创建一个 IP 转换器。 您必须使用扫描仪以字符串格式输入 IP 地址。
例如:String = "192.168.10.1"
如何使用拆分方法将字符串转换为二进制?
我的转换器还没有:
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.");
}
}
}
现在如何获取不带点的 IP 地址并将其转换为二进制和十六进制?
输出必须如下所示:1111.1111.1111.1111
只需使用 zahl.Split(".");
并在单独的部分上使用 .toBinaryString()
方法。
通过将您的输入作为字符串(您已经在问题的第一行中提到)来完成此操作的有效方法之一如下:
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.");
}
}
}
用“.”拆分输入并将每个部分转换为二进制和十六进制
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());