import java.io.*;
public class UpperCase 
{

/**
 * Method main
 *
 *
 * @param args
 *
 */
  public  void toUpperCase(StringReader sr,StringWriter sw)
 {
  char [] buf = new char[1024];
  char [] bufw = new char[1024];
  int len = 0;
  int j = 0;
  len = sr.read(buf);
  Character [] newbuf = null;
  for(int i = 0;i < len;i++)
  {
  Character newbuf[i] = new Character(buf[i]);
  if(newbuf[i].isLetter() && newbuf[i].isLowerCase())
  {
  bufw[j] = newbuf[i].toUpperCase(newbuf[i].charValue());
  j++;
 
  }
  }
  sw.write(bufw);
 }  
public static void main(String[] args) 
{
// TODO: Add your code here
StringReader sr = new StringReader("abcdef111111ghijklmnopqrstuvwxyz");
StringWriter sw = new StringWriter();
UpperCase uc = new UpperCase();
uc.toUpperCase(sr,sw);
System.out.println(sw.toString());
}
}老是提示缺少一个“[”,但是怎么看看不出来毛病,大虾帮忙!~
D:\JavaWork\UpperCase\UpperCase.java:22: ']' expected
            Character newbuf[i] = new Character(buf[i]);

解决方案 »

  1.   

    很多错误,类型,方法都不对。
    改成下面,
      public  void toUpperCase(StringReader sr,StringWriter sw)
     {
      char [] buf = new char[1024];
      char [] bufw = new char[1024];
      int len = 0;
      int j = 0;
    try
    {
    len = sr.read(buf);
      Character newbuf ;
      for(int i = 0;i < len;i++)
      {
       newbuf = buf[i];
      if(Character.isLetter(newbuf) && Character.isLowerCase(newbuf))
      {
      bufw[j] = newbuf.toUpperCase(newbuf.charValue());
      j++;
     
      }
      }
      sw.write(bufw);
    }
    catch (Exception e)
    {
    }
     
     }
      

  2.   

    不行啊。
     newbuf = buf[i];
    提示类型不兼容
    if(Character.isLetter(newbuf) && Character.isLowerCase(newbuf))
    提示isLetter(char) in java.lang.Character cannot be applied to (java.lang.Character)
    还有几个错误不贴了。。帮忙啊。彻底迷茫了。。
      

  3.   

    import java.io.*;
    public class UpperCase 
    {

    /**
     * Method main
     *
     *
     * @param args
     *
     */
      public  void toUpperCase(StringReader sr,StringWriter sw)
     {
      char [] buf = new char[1024];
      char [] bufw = new char[1024];
      int len = 0;
      int j = 0;
      try
      {  
      len = sr.read(buf);
      for(int i = 0;i < len;i++)
      {
      Character newbuf = new Character(buf[i]);
      if(newbuf.isLetter(buf[i]) && newbuf.isLowerCase(buf[i]))
      {
      bufw[j] = newbuf.toUpperCase(newbuf.charValue());
      j++;
     
      }
      }
      sw.write(bufw);
      }
      catch(Exception e)
      {
      e.printStackTrace();
      }
     }  
    public static void main(String[] args) 
    {
    // TODO: Add your code here
    StringReader sr = new StringReader("abcdef111111ghijklmnopqrstuvwxyz");
    StringWriter sw = new StringWriter();
    UpperCase uc = new UpperCase();
    uc.toUpperCase(sr,sw);
    System.out.println(sw.toString());
    }
    }
    OK。调试成功。
    谢谢回复的lanseliuying(别那么小气!) 兄弟,虽然你的程序也漏洞百出。但是给我了一个很好的思路。就是在把char变Character的时候,不需要一个Character数组,只需要一个变量就行了。十分感激啊~!!兄弟。
      

  4.   

    楼上的,你怎么会运行好的呢???我改了好多地方还有错呢。随便说一个。
    newbuf  =  buf[i];  
    newbuf是Character ,buf[i]是char 编译器提示incompatible types。这个难道不是错误吗?。。不知道你用的什么编译器。
      

  5.   

    对了。我用的是JCREATOR 4.00.028我真的试了。有3个错误。都是关于newbuf  =  buf[i];  的难道我的JC版本低?????还是什么原因,请其他高手也帮个忙。虽然是个小问题,但是恕我愚钝,不知道缘由的话。如骨在喉,不吐不快啊。各位再辛苦辛苦。小弟谢谢先。
      

  6.   

    Character当然可以封装char型。
    JDK上1.5运行的。
      

  7.   

    我试了就是好着呢啊,我用的eclipse3.2.2
      

  8.   

    昏迷。我用JDK1。4还是提示我这个问题。杂弄。。!!!!!!!!!!!
      

  9.   

    没搞好。我个人估计可能是JCREATOR的事..回头我再试试.