A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 张超超 黑马帝   /  2012-4-17 10:11  /  1791 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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]);
      
          
           }




}        }

1 个回复

正序浏览
本帖最后由 曾虓 于 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);
这样就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马