黑马程序员技术交流社区

标题: 这个java程序哪儿错了,怎么改? [打印本页]

作者: 张超超    时间: 2012-4-17 10:11
标题: 这个java程序哪儿错了,怎么改?
import javax.swing.JOptionPane;

public class SecretTest
{ public static void main(String args[])
   {

   String s1,s2;
   int n;
   char m='2';

   s1=JOptionPane.showInputDialog("请输入原文");
   s2=String.valueOf(s1);
   n=s2.length()+1;
   for(int i=0;i<s2.length();i++)
   { String  a[]=new String[n];
     String  b[]=new String[n];
     char    c[]=new char[n];
     char    d[]=new char[n];
      a[i]=s2.substring(i,i+1);
      c[i]=(char)(a[i]^m);
      System.out.print(c[i]);
      System.out.println("原文:");
      d[i]=(b[i]^m);
      System.out.print(d[i]);
      
          
           }




}        }
作者: 曾虓    时间: 2012-4-17 11:31
本帖最后由 曾虓 于 2012-4-17 11:41 编辑

c=(char)(a【i】^m);
这一行

报错信息:The operator ^ is undefined for the argument type(s) String, char
a是字符串类型,m是char类型,不能直接用^运算的。

可以改成这样:
            char[] ch=a【i】.toCharArray();//先把string[]数组转换成char[]数组

            再进行^操作。
            c = (char)(ch【i】^m);
这样就可以了





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2