if ((buffer.substring(i,i+1)).equals("1") )
{
count++;
}
}
if (count%2!=0)
{
buffer.delete(0,0);
buffer.insert(i,"1");
System.out.println( buffer.toString());
}
{
count++;
}
}
if (count%2!=0)
{
buffer.delete(0,0);
buffer.insert(i,"1");
System.out.println( buffer.toString());
}
substring(start, end)如果start>end 她就会抛出你说的异常.
出错的时候应该看看jdk文档,这种问题很容易发现的
看看jdk的帮助吧,substring(start, end), 不是substring(start, count).
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String a = new String();
System.out.println("pls input number");
a = br.readLine(); StringBuffer buffer = new StringBuffer(a);
buffer.insert(0, "0");
buffer.insert(1, "0");
buffer.insert(3, "0");
System.out.println(buffer.toString()); int count = 0;
for (int i = 3; i < buffer.length(); i = i + 2) {
if ( (buffer.substring(i, i+1)).equals("1")) {
count++;
}
}
if (count % 2 != 0) {
buffer.setCharAt(0,'1');
System.out.println(buffer.toString());
}
请帮助看看,这个程序的第32行, if ((buffer.charAt(2)).equals("1"))这种表达方式有什么问题,是判断字符串第三位是否为“0”,提示错误:char can not be dereferenced, 应该怎么表达才正确?谢谢!
import java.util.*;
import java.io.*;
public class ArrayChange1
{
public static void main(String[] args) throws Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String a = new String();
System.out.println("pls input number");
a = br.readLine();
StringBuffer buffer = new StringBuffer(a);
buffer.insert(0, "0");
buffer.insert(1, "0");
buffer.insert(3, "0");
System.out.println(buffer.toString());
int count = 0;
for (int i = 3; i < buffer.length(); i = i + 2) {
if ( (buffer.substring(i, i+1)).equals("1")) {
count++;
}
}
if (count % 2 != 0) {
buffer.setCharAt(0,'1');
System.out.println(buffer.toString());
}
int count1, count2;
for (int i = 6; i < buffer.length(); i = i + 1) {
if ( (buffer.substring(i, i+1)).equals("1")) {
count1++;
}
}
if ((buffer.charAt(2)).equals("1"))
{
count2=1;
}
count = count1+ count2;
if (count % 2 != 0) {
buffer.setCharAt(1,'1');
System.out.println(buffer.toString());
}
}
}
当然不对了.
buffer.charAt(2)取到的是char型数据,能用equals?
用==就可以了.
另外上面的count1,count2给赋个初值,
不然要出错的哦.这种东东自己看看文档就搞定哈.
看懂java帮助文档