Java 组合两个字符序列变量
我可以像这样组合两个Java 组合两个字符序列变量,java,android,charsequence,Java,Android,Charsequence,我可以像这样组合两个CharSequence变量吗 if (status == 1) { for (int i = 0; i < get.length(); i++) { if (get.charAt(i) == ')') { } else { temp = temp.toString() + get.charAt(i); // temp and get are charSequence VA
CharSequence
变量吗
if (status == 1) {
for (int i = 0; i < get.length(); i++) {
if (get.charAt(i) == ')') {
} else {
temp = temp.toString() + get.charAt(i);
// temp and get are charSequence VARIABLES
}
}
}
if(状态==1){
for(int i=0;i
语法看起来不错,因为编译器没有错误,但应用程序正在崩溃
另外,我不想在这个初学者阶段进入列表
和数组列表
项目。知道我做错了什么吗
另外,如果你说我不应该使用
.toString()
方法,那么我明白了,但是我应该怎么做才能使它正确呢?首先,你可以考虑一下重构代码:
if (status == 1) {
for (int i = 0; i < get.length(); i++) {
if (!(get.charAt(i) == ')')) {
temp += get.charAt(i);
}
}
}
是的,很好,但是你的主要目标是什么
一般来说,我们使用
String
,因为它有多种方法。此外,您可以使用StringBuffer
,但首先应该是主要目标。您确定get
不为空吗
我试过你的代码,它运行正常
调试并提供应用程序正在崩溃的值
您可以通过以下方式获得相同的结果:
temp = temp.toString() + get.toString().replaceAll("\\)", "");
因为
toString()
您正在进行字符串连接。你的应用程序崩溃的原因是什么?正在制作计算器,这就是为什么在if statemnet中排除关闭paranthesis…它只是崩溃了。。。。强制关闭使用logcat找出原因。我认为线程以未捕获异常退出。。。我在这里访问的是越界吗?主要目标是制作一个像卡西欧一样的计算器:)。用户将输入一个代数表达式,我需要得到它的答案。。。所以表达式是字符格式的。。。此时此刻,我正试图首先解决括号。。。这就是为什么我需要打破这个表达式来解决它…我肯定得到的yp不是空的。。。但是你的代码看起来很有趣。。。让我试试。关于temp
变量,它可以是null
?嗯。实际上,当我遇到一个大括号时,我想在if语句中解决它。。所以我不想在一行中转换整个“GetCharSequence变量”。。。。我需要通读所有字符,并在收到字符时作出响应。@Muneeb您正在调用.toString()
方法,它将抛出NullPointerException
导致您的应用程序崩溃,好吧。。。。我可以像charSequence temp=“”)那样启动temp cahrSequence变量吗;现在将为空吗?如果它仍然存在,那么我如何启动它,使它在循环的第一次迭代中不再重要?因为你们所建议的这个问题只会在循环的第一次迭代中出现。。。。
temp = temp.toString() + get.toString().replaceAll("\\)", "");