编写一个java程序,求代码

编写一个Java程序,声明一个char类型数组用于存放你的姓名,以及一个int类型变量用于存放你的学号。完成以下要求的输出:•在同一行输出你的姓名、学号;&#... 编写一个Java程序,声明一个char类型数组用于存放你的姓名,以及一个int类型变量用于存放你的学号。完成以下要求的输出:
• 在同一行输出你的姓名、学号;
• 在下一行输出学号的十六进制值,与上一行的学号纵向对齐;
• 在第三行输出你的姓名的每一个字的Unicode值(十六进制);
• 将你的姓名的unicode值的最低位求反,在第四行再输出变换后的姓名和Unicode值(十六进制);
• 将学号分解为年级(2位)、院系(3位)和序列号三个段号,在第五行输出3个段号。
展开
 我来答
zetz
2013-03-20 · TA获得超过904个赞
知道小有建树答主
回答量:608
采纳率:0%
帮助的人:345万
展开全部

这题貌似无聊,不过细想也涉及很多JAVA的编程基础知识。

这位triompha的这段程序好像也没有完全按照提问者的要求作答。

他这段程序的运行结果是:

所以我这里也写了一个,先看运行结果:


上代码:

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class Student{

    public char[] name = new char[]{'无','聊','题'};

    public int sid= 12123123;

   

    public static void main(String[] args){

        Student stu = new Student();

        String strName = new String(stu.name);

        System.out.println("1 name:" + strName + " sid:" + stu.sid);

        System.out.println("2 Int2Hex:" + spaceStr(strName) + Integer.toHexString(stu.sid));

        String uni = stringToUnicode(strName);

        System.out.println("3 unicode:" + uni );

        String cha = unicodeToString(uni);

        System.out.println("4 change:" + cha + " unicode:" + stringToUnicode(cha) );

        String sch = String.valueOf(stu.sid);

        System.out.println("5 segment:" + cutSegment(cutSegment(sch,2,"-"),6,"-"));

    }

   

    //用于计算字符数并对其

    public static String spaceStr(String s){

      String str = "";

      for (int i = 0; i < s.length()*2+2; i++) {

      str += " ";

      }

      return str;

    }

   

    //转换Unicode

    public static String stringToUnicode(String s) {

        String str = "";

      for (int i = 0; i < s.length(); i++) {

          int ch = (int) s.charAt(i);

          if (ch > 255)

              str += "\\u" + Integer.toHexString(ch);

          else

              str += "\\" + Integer.toHexString(ch);

      }

      return str;

  }

 

  //转换字符,末位求反

    public static String unicodeToString(String s) {

        Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))"); //正则表达式

        Matcher matcher = pattern.matcher(s);

        char ch;

        while (matcher.find()) {

            ch = (char) (Integer.parseInt(matcher.group(2), 16) ^ 1);//这里做了最后一位求反的特殊处理^1

            s = s.replace(matcher.group(1), ch + "");   

        }

        return s;

    }

   

    //插入分隔符

    public static String cutSegment(String s, int i, String strInsert){

      StringBuffer buff = new StringBuffer(s);

buff.insert(i,strInsert);

return buff.toString();

    }

}


代码差不多要60行,这还真不是一个简单的问题啊。

百度网友98d517e7b
2013-03-20 · 超过10用户采纳过TA的回答
知道答主
回答量:59
采纳率:100%
帮助的人:29.6万
展开全部
public static void main(String[] args) {
char[] name = new char[] { '无', '聊', '题' };
System.out.println((int) name[0]);
char[] whiteSpaces = new char[name.length];
for (char c : whiteSpaces) {
c = ' ';
}
int uno = 06203666;
System.out.printf("%s%d\n", String.valueOf(name), uno);
System.out.printf("%s%x\n", String.valueOf(whiteSpaces), uno);
for (char c2 : name) {
System.out.printf("%x", (int) c2);
}
System.out.println();
for (char c2 : name) {
System.out.printf("%x", (c2 & 0Xfffe));
}
System.out.println();
System.out.println("年级:" + String.valueOf(uno).substring(0, 2) + "院系:" + String.valueOf(uno).substring(2, 4)
+ "后面:" + String.valueOf(uno).substring(4));
}

PS,估计也就学校的课本能出这种无聊的题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
work4brains
2013-03-20 · TA获得超过469个赞
知道答主
回答量:198
采纳率:0%
帮助的人:166万
展开全部
"声明一个char类型数组用于存放你的姓名"

char?你是说 String 才对吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
没有响应m2
2013-03-20 · TA获得超过8387个赞
知道大有可为答主
回答量:7579
采纳率:33%
帮助的人:3483万
展开全部
这题目太蛋疼了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式