如果我拆分"你好|" 和"| hello"与"|" 字符,然后我得到第一个值的一个值和第二个版本的两个值.
String[] arr1 = new String("hello|").split("\\|");
String[] arr2 = new String("|hello").split("\\|");
System.out.println("arr1 length: " + arr1.length + "\narr2 length: " + arr2.length);
Run Code Online (Sandbox Code Playgroud)
打印出:
arr1长度:1
arr2长度:2
为什么是这样?
以下代码将字符串数组'one'创建为[c,a,t,a,n,d,d,o,g].现在我想创建一个int数组'two',其中每个'a'的位置是3,所有其他位置都填充为5
int two= {5, 3, 5, 3, 5, 5, 5, 5, 5}
Run Code Online (Sandbox Code Playgroud)
但是代码将每个元素赋予等于5,因此它打印为
5 5 5 5 5 5 5 5 5 :
Run Code Online (Sandbox Code Playgroud)
我用的代码从这里开始:
import com.google.common.collect.ObjectArrays;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
public class StringInt {
public static void main(String[] args) {
String str= "cat and dog";
String[] word = str.split("\\s");
String[] one = new String[0];
for(int i=0; i<word.length; i++){
one = ArrayUtils.addAll(one, word[i].split("(?!^)"));
}
System.out.println("One : " + Arrays.toString(one));
int[] b = new int[one.length];
for(int j=0; j<one.length; …
Run Code Online (Sandbox Code Playgroud) 我们最近决定将我们的解决方案从java 7迁移到8.但是在第一步我们发现java 8中有一些实现更改,比如String.split()方法这可能会导致用Java 7编写的代码出现问题!
我们现在将我们的项目推向Java 7,以便更多地研究这些差异.
你知道Java 8中的任何其他变化都会导致同样的问题吗?
PS:我知道Java 8的新功能通过更改我的意思是那些使用相同API(方法签名)的更改,但不同的实现可能会导致不同的结果!! 喜欢这个方法 - > String.split()
在投票前阅读评论!!
如何在没有空格的单行中获取整数数组的输入.数字只能是0-9,所以每个东西都是单个数字.
输入: -
123456
Run Code Online (Sandbox Code Playgroud)
输出: -
a[0]=1 a[1]=2 a[2]=3 a[3]=4 a[4]=5 a[5]=6
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题.
我有一个方法,应该使用java验证字符串中准确的开括号和右括号.此方法将用于解析数学表达式,因此对括号进行平衡非常重要.出于某种原因,它在这两个运行中都返回false:
System.out.println(parChecker("(()")); // returns false :-)
System.out.println(parChecker("((()))")); // returns false :-( WHY??
Run Code Online (Sandbox Code Playgroud)
这是使用堆栈来解决问题的方法.这里出了点问题,因为它对于一组平衡的括号也会返回错误.有什么问题?先感谢您.
public static boolean parChecker(String str) {
String[] tokens = str.split("");
int size = tokens.length;
Stack theStack = new Stack(size);
int index = 0;
boolean balanced = true;
while ((index < size) && balanced) {
String symbol = tokens[index];
if (symbol.equals("(")) {
theStack.push(symbol);
} else {
if (theStack.isEmpty()) {
balanced = false;
} else {
theStack.pop();
}
}
index++;
}
if (balanced && theStack.isEmpty()) {
return true;
} …
Run Code Online (Sandbox Code Playgroud) 我正在练习阅读输入,然后将其标记化.例如,如果我有[882,337]我想得到数字882和337.我尝试使用以下代码:
String test = "[882,337]";
String[] tokens = test.split("\\[|\\]|,");
System.out.println(tokens[0]);
System.out.println(tokens[1]);
System.out.println(tokens[2]);
Run Code Online (Sandbox Code Playgroud)
它有点工作,输出是:(空白行)882 337
我不明白为什么token [0]为空?我希望只有两个令牌,其中令牌[0] = 882,令牌[1] = 337.
我检查了一些链接,但没有找到答案.
谢谢您的帮助!
我正在尝试拆分一个17字节的字符串,但是当我显示长度时它显示18.
String s1 = "{{ (( 4 + 5 )) }}";
String[] s2 = s1.split("");
System.out.println("length = " + s2.length);
Run Code Online (Sandbox Code Playgroud)
我尝试创建一个程序,用我自己的规则将文本加密成代码.但是,我发现分裂文本并将其发送到数组有一些问题
我想在Msg数组中看到这个
Msg[0] = "h";
Msg[1] = "e";
Msg[2] = "l";
Msg[3] = "l";
Msg[4] = "o";
Run Code Online (Sandbox Code Playgroud)
我尝试像这样编码
String text = "hello";
String[] Msg = new String[] {text};
Run Code Online (Sandbox Code Playgroud)
这段代码有效,但结果并不像我想要的那样.你能帮我解决这个问题吗?
谢谢..