Java 把绳子分成两半
我正在制作一个新的转换软件来隐藏信息(为了好玩)。我制作了一个二进制和十进制转换类,我的想法是,一个用户输入字符串,它将所有内容转换成二进制格式。然后将其拆分为两半,将一半转换为十进制,然后将字符串再次相加,使其成为二进制和十进制的混合体。在其他版本中,我将添加更多转换、更多拆分,可能还会转换为语言。我需要把绳子劈成两半。这是我目前的代码::Java 把绳子分成两半,java,arrays,string,split,binary,Java,Arrays,String,Split,Binary,我正在制作一个新的转换软件来隐藏信息(为了好玩)。我制作了一个二进制和十进制转换类,我的想法是,一个用户输入字符串,它将所有内容转换成二进制格式。然后将其拆分为两半,将一半转换为十进制,然后将字符串再次相加,使其成为二进制和十进制的混合体。在其他版本中,我将添加更多转换、更多拆分,可能还会转换为语言。我需要把绳子劈成两半。这是我目前的代码:: public ray() { Scanner in = new Scanner(System.in); while (true) {
public ray() {
Scanner in = new Scanner(System.in);
while (true) {
System.out.println("Please input the text you wish to encode!");
System.out.println("Type '#' to quit the Software.");
String s1 = in.nextLine();
if ("#".equalsIgnoreCase(s1)) {
System.out.println("Goodbye, hope you enjoyed RAYConversion v1.0 Alpha.");
// close software
}
// convert all to binary
binary Binary = new binary();
//what i need to do is split stirng s1 in half, make it into different strings. Then I will convert
//the two strings to binary and decimal. I made a converter for that.
}
}
我想这会让你实现你想要实现的目标: 请注意,对于具有
奇数
字符数的字符串,后半个字符串将获得额外字符的好处
创建如下方法:
public static String substring(int a, int b, String temp) {
String a = "";
for(int i = a; i<b; i++) {
char ch1 = temp.charAt(i);
a = a + ch1;
}
return a;
}
您可以使用Java的substring函数将它们分成两半:
String s1a = s1.substring(0, (s1.length()/2));
String s1b = s1.substring((s1.length()/2);
试试这个:
int len = whole.length();
String a = whole.substring(0, len / 2), b = whole.substring(len / 2);
这就使用了这个方法。对于长度为奇数的
字符串
,后半部分将长一个字符。此方法删除长度为奇数的字符串的中间字符。这是由else部分下半部分中的2+1
完成的
public void method()
{
Scanner sc = new Scanner(System.in);
System.out.println("ENTER A STRING");
original = sc.next();
if(original.length()%2 == 0)
{
firsthalf =original.substring(0, original.length()/2);
secondhalf = original.substring(original.length()/2);
System.out.println(firsthalf);
System.out.println(secondhalf);
}
else
{
firsthalf = original.substring(0, original.length()/2);
secondhalf = original.substring(original.length()/2+1);
System.out.println(firsthalf);
System.out.println(secondhalf);
}
}
如何将字符串“AAA”一分为二?请使用命名约定。名为
ray
的类应称为ray
,而binary-binary
应为binary-binary
——带有类binary
和变量binary
。还有,“#”
的大小写是什么,考虑到您只使用该字符在字符串上调用equalsIgnoreCase()
?我对Java有点陌生,它对我有用,equalsIgnoreCase可以等于我知道,我习惯使用Bukkit API lol,在那里我使用equalsIgnoreCase命令。AAA,下半场会有AA,上半场会有A。非常有帮助,泰!然而,我可能会使用另一个,因为它更有意义,并且代码更小。无论如何谢谢你!编辑并改进了我的答案。我想这会让你更简单,更容易理解函数中发生的事情。这个方法会删除长度为奇数的字符串的中间字符。这是由else部分后半部分中的“2+1”完成的。希望你觉得它有用。不确定OP是否想删除中间字符
int len = whole.length();
String a = whole.substring(0, len / 2), b = whole.substring(len / 2);
public void method()
{
Scanner sc = new Scanner(System.in);
System.out.println("ENTER A STRING");
original = sc.next();
if(original.length()%2 == 0)
{
firsthalf =original.substring(0, original.length()/2);
secondhalf = original.substring(original.length()/2);
System.out.println(firsthalf);
System.out.println(secondhalf);
}
else
{
firsthalf = original.substring(0, original.length()/2);
secondhalf = original.substring(original.length()/2+1);
System.out.println(firsthalf);
System.out.println(secondhalf);
}
}