求大神为小弟解答!!!用java编程!谢谢

如题所述

第1个回答  推荐于2016-08-06
  public static void main() {
  String s = "sunjavaandandroidjavajavajavaeejavamejavase#java.netjavaphpjava";
  StringBuilder sb = new StringBuilder();
  int middle = s.length() / 2;// 中间位置
  // Map用来统计词频,这只是一种方法;既然提供了集合,我们就用用咯
  Map<Character, Integer> map = new HashMap<Character, Integer>();
  for (int k = s.length() - 1; k > middle; --k) {// 后半部分
  char c = s.charAt(k);// 当前字符
  if (map.get(c) != null) {// map中有,表示出现过,次数+1
  map.put(c, map.get(c) + 1);
  } else {// 没出现过,次数初始化为1
  map.put(c, 1);
  }
  if (c >= 'a' && c <= 'z')// 小写转化为大写(char内部的int值大小写差32)
  c = (char) (c - 32);
  /**
  * 其实大小写转换可以使用String类的toUpperCase(),我是为了一个循环搞定,所以没用。
  */
  sb.append(c);
  }
  for (int i = middle; i >= 0; --i) {// 前半部分,反序输出到sb
  char c = s.charAt(i);
  sb.append(c);
  if (map.get(c) != null) {
  map.put(c, map.get(c) + 1);
  } else {
  map.put(c, 1);
  }
  }
  System.out.println("逆序变大写结果:" + sb.toString());
  System.out.println("====下面是统计数据=========");
  Set<Character> keys = map.keySet();// 循环map的一种方法————获取key的Set集合(另一种获取Map.Entry集合,自行研究)
  Iterator<Character> item = keys.iterator();//迭代器
  while (item.hasNext()) {
  Character cc = item.next();
  System.out.println("字符" + cc + "出现次数:" + map.get(cc));
  }
  // 以下为第一题答案(为了方便,写一起去了)
  Pattern p = Pattern.compile("java");
  Matcher matcher = p.matcher(s);
  boolean result = matcher.find();
  int count = 0;
  while (result) {
  count++;
  result = matcher.find();
  }
  System.out.println("'java'出现次数: " + count);
  System.out.println(s.replaceAll("java", "JAVA"));
  }
//这格式不太对,你用IDE格式化一下代码就行了追问

谢谢啦

追答

共同提高,共同进步~

本回答被提问者采纳
第2个回答  2015-03-25
你自己看下JDK API的String类的方法,基本就可以实现了

java编程计算1+3!+5!+...+(2n-1)! 前10 项和。小弟编写的代码如下
for (int i = 1; 2*i-1 <= 19; i++) { int sum1 = 1;int x = 2*i-1;for (int j = 1; j <= x; j++) { sum1 = sum1 * j;} sum = sum + sum1;} System.out.println("1~19的奇数阶乘和为"+sum);首先你的循环中i=1在无限循环,要改成i++,就是每循环一次i...

各位Java高手急救啊!!!小弟初学者。。。
package com.baidu.huangcy.solve;class Point { private double x, y, z; public Point(double x, double y, double z) { super(); this.x = x; this.y = y; this.z = z; } public double getY() { return y; } public void setY(double y) ...

小弟初学JAVA,求助ing 谢谢~
Java中String类的compareTo方法,该方法返回一个int类型的数据。其比较规则是:拿出字符串的第一个字符与参数的第一个字符进行比较:如果两者不等,比较结束,返回两者的ascii差,即字符串的第一个字符减去参数的第一个字符的ascii码值,比如代码第五行的-1.如果相等,则比较第二个字符,以此类推。比较...

小弟java编程中遇到问题了、、、请人帮帮忙呢!!
程序全是输入错误啊 注意大小写 估计你是按照书上敲的代码 细心点!import javax.swing.*;import java.awt.*;import java.awt.event.*;class md extends JFrame implements ActionListener { JLabel jlb=new JLabel("1+2+3+...+n的和");md(){ super("演示输入对话框");setSize(150,150);...

JAVA请大家帮帮小弟我,怎么实现输出显示下一页,还有字符串功能的使用...
2. 对齐可以通过预先定义一个固定长度的空格字符串,然后再用 string.replace("")这个方法替换相应的字符 3. 控制台显示交互界面用来学习还可以,真正做的时候不会这么做的。如果做桌面系统,你可以看一下Swing的教程,或者看一下如何用JSP生成html。学习java基础我推荐你个网站 http:\/\/hackerrank.com\/...

java 高手们,小弟真的很急用啊?希望大哥们给点答案啊!!!
public static void main(String[] args) { int num = Key.nextInt();boolean flag = Number.hasPrimeNumber(num);\/\/...} } class Key { private static java.util.Scanner scan = new java.util.Scanner(System.in);public static int nextInt() { return scan.nextInt();} } class ...

有没java大神过来指导一下!谢谢!!!
除去你第二个if条件的所有情况都是else,这个else 只针对于第二个if,而不是针对于两个if。通俗的讲你的逻辑是这样的:若平局则输出平局,若你赢了则输出你赢了,若你没赢则输出你输了。而逻辑上这是错误的,因为你没赢包括了你平局的可能。不知道这么说您懂了么,没懂的话可以追问我。

请问JAVA高手个问题哈,谢谢你们了,小弟急的快哭了!
1 什么是Java、Java2、JDK?JDK后面的1.3、1.4.2版本号又是怎么回事? 答:Java是一种通用的,并发的,强类型的,面向对象的编程语言(摘自Java规范第二版) JDK是Sun公司分发的免费Java开发工具,正式名称为J2SDK(Java2 Software Develop Kit)。 2 什么是JRE\/J2RE? 答:J2RE是Java2 Runtime Environment,即Java运行环...

用java编写程序输出1,2……n这n个自然数,要求用递归算法
直接调用下面的函数就可以了。displayNum(10);public static void displayNum(int num) { if (num > 1) { displayNum(num - 1);} System.out.println(num);}

请从JAVA课本知识角度回答。小弟是要考试用的,老师只给了这个材料!希望...
请从JAVA课本知识角度回答。小弟是要考试用的,老师只给了这个材料!希望大虾们帮忙!回答好再加高分! 1.Java应用程序与Applet程序的区别?2.抽象类是否能生成具体对象?其存在的意义?3.方法(或者函数)重载与覆盖的区别?4..构造方法为什么经常需要重载?5.构造函数(方法)为什么必须... 1.Java应用程序与Applet程序的...

相似回答
大家正在搜