1 给出任意两个日期,编程计算它们相距的天数。2 编写一个程序,利用数组把10个数用直接交换方法从小到大排序。 (什么是直接交换方法?和选择法排序一样么)3  编写一个程序,实现字符串的大小写字母的相互转换。4  找出两个字符串中所有相同的字符。5 对字符串数组按字典序重新排列。6 分析输出字符串中的单词,并统计单词个数。7 将字符串".ymene tsrow sih si nam yrevE"反转。

解决方案 »

  1.   


        public static void main(String[] args) {        String ymd1 = "2009-05-01";
            String ymd2 = "2009-06-01";
            Date d1 = null;
            Date d2 = null;
            try {
                d1 = getDate(ymd1);
                d2 = getDate(ymd2);
            } catch (ParseException e) {
                System.out.println("Cannot parse the date pattern");
                e.printStackTrace();
            }
            System.out.println("There are " + getDays(d1,d2) + " days between " + ymd1 + " and " + ymd2);
        }    private static Date getDate(String date) throws ParseException {
            return new SimpleDateFormat("yyyy-MM-dd").parse(date);
        }
        
        private static long getDays(Date d1, Date d2) {
            long resultDays = 0;
            resultDays = Math.abs((d1.getTime() - d2.getTime())/3600000/24);
            return resultDays;
        }
      

  2.   

    我看了下根本不用编直接调用API基本都可以完成
      

  3.   

    只需java常用类中的一些方法都可以解决啊,看看API文档就行啦
      

  4.   

    import java.util.HashSet;
    import java.util.Iterator;//找出两个字符串中所有相同的字符。public class test{
    public static void main(String args[]){
    String str1="abcdefghijkhlhc";
    String str2="hjggjkhuabcdio";
    HashSet h=new HashSet();char[] ch1=str1.toCharArray();
    char[] ch2=str2.toCharArray();
    System.out.println("两个字符串相同字符如下:");
    for(int i=0;i<ch1.length;i++){ 
    for(int j=0;j<ch2.length;j++){
    if(ch1[i]==ch2[j]){
    h.add(ch1[i]);
    // System.out.println(ch1[i]);
    }
    }
    }
    Iterator it=h.iterator();
    while(it.hasNext()){
    // it.next();
    System.out.println(it.next());
    }}
      

  5.   


    //6 分析输出字符串中的单词,并统计单词个数import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    import javax.swing.JOptionPane;public class Test {
     public static void main(String[] args) {
      String s = JOptionPane.showInputDialog(null, "请输入句子:");
      String[] ss = s.trim().split(" ");
      Map map = new HashMap();  for (int i = 0; i < ss.length; i++) {
       int count = 0;
       for (int j = 0; j < ss.length; j++) {
        if (ss[i].equals(ss[j])) {
         count = count + 1;
        }
       }
       map.put(ss[i], count);
      }
      Set key=map.keySet();
      for (Iterator iterator = key.iterator(); iterator.hasNext();) {
       String name = (String) iterator.next();
       String count2=map.get(name).toString();
       System.out.println(name+"有 "+count2+" 个");
      }
      
     }

      

  6.   

    第二题可不可以自己调用类方法啊嘻嘻..Arrays.sort(int [])..
      

  7.   

    http://hi.baidu.com/shenyong12345
      

  8.   


    大哥,那是让反转,不是排序。用StringBuffer的reverse()方法就哦了。LZ肯定是懒得做作业。
      

  9.   

    既然知道是基础题了,那还是自己做吧。那样是提高自己的水平。其实,对于CSDN的朋友,基本都能做出来,就写几个函数就能搞定。
    楼主可能在准备笔试,或者是其他的东西。不过,最终你要自己完成编码。还是自己来吧。会有提高的!~
      

  10.   

    转换字符串:
    public class hello7
    {
    public static void main(String[]args){
    String s=".ymene tsrow sih si nam yrevE";
    char[]arr=s.toCharArray();
    StringBuilder sb=new StringBuilder();
    for(int i=arr.length-1;i>=0;i--){
    sb.append(arr[i]);
    }
    System.out.println("元字符串:"+s);
    System.out.println("转换后串:"+sb);
    }
    }
      

  11.   

    //StringBufferOp.java
    //反转字符串中的字符
    public class StringBufferOp
    {
        public static void main(String args[])
        {
            StringBuffer s = new StringBuffer(".ymene tsrow sih si nam yrevE");
            System.out.println("原来s="+s.toString());
            StringBuffer buffer = new StringBuffer();
    buffer = s;
            buffer.reverse();
            System.out.println("反转后s="+buffer.toString());
        }
    }
      

  12.   

    大小写互换,public class hello7
    {
    public static void main(String[]args){
    StringBuilder sb=new StringBuilder();
    String str="A Hello,this is a test"; char[]arr=str.toCharArray();
    for(char c:arr){
    int s=(int)c;
    if('A'<=c&&c<='Z'){
    s+=32;
    }else if('a'<=c&&c<='z'){
    s+=-32;
    }
    sb.append((char)s);
    } System.out.println("元字符串:"+str);
    System.out.println("转换后串:"+sb);
    }
    }
      

  13.   

    Test7 反转的 其他的楼主自己学吧!
    public class StringTest{  public void convert(String s){
        for(int i= s.length()-1;i>=0;i--){
          System.out.print(s.charAt(i));
        }
        System.out.println ();
    }  public static void main(String[] args){
        String s = ".ymene tsrow sih si nam yrevE";
        StringTest st = new StringTest();
        System.out.println ("发转前的字符串是:"); 
        System.out.println (s); 
        System.out.println ("发转后的字符串是:"); 
        st.convert(s);  }
    }
      

  14.   

    那是让反转,不是排序。用StringBuffer的reverse()方法就哦了。LZ肯定是懒得做作业
      

  15.   

    我用的是String tokenizer的,那个可以么?
      

  16.   

    我用的是StringBuffer的append方法,重新定义了一个字符串,这样可以么?
      

  17.   

     int getDate() 
              已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_MONTH) 取代。 
      

  18.   

    4.找出两个字符串中所有相同的字符。public class Test2 { public static void main(String[] args) {
    StringBuffer sb1 = new StringBuffer("abcdefg");
    StringBuffer sb2 = new StringBuffer("qclemao");
    StringBuffer sb3 = new StringBuffer("");
    for (int i=0;i<sb1.length();i++) {
    for (int j=0;j<sb2.length();j++) {
    if (sb1.charAt(i) == sb2.charAt(j)) {
    sb3.append(sb1.charAt(i));
    }
    }
    }
    System.out.println(sb3);
    }
    }
      

  19.   

    5.对字符串数组按字典序重新排列。
    public class Test2 { public static void main(String[] args) {
    StringBuffer sb1 = new StringBuffer("qmazlcAfebQCbcejkd");
    int a = sb1.length();
    byte[] cc = new byte[a];
    for (int i=0;i<sb1.length();i++) {
    cc[i] = (byte)sb1.charAt(i);
    }
    for (int i=0;i<cc.length;i++) {
    for (int j=i;j<cc.length;j++) {
    byte temp = 0;
    if (cc[i]>cc[j]) {
    temp = cc[i];
    cc[i] = cc[j];
    cc[j] = temp;
    }
    }
    }
    for (int i=0;i<cc.length;i++) {
    System.out.print((char)cc[i] + " ");
    }
    }
    }实现了两个我自认识比较难一点的。其他的楼主自己实现吧。
      

  20.   

    可以
    package csdn;
    import java.util.*;
    public class ArraysT { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int[] n1 = { 2, 3, 1, 4, 6, 5, 7, 9, 8, 0 };
    Arrays.sort(n1);
    System.out.println(Arrays.toString(n1));
    }}
      

  21.   


    package csdn;
    import java.util.*;
    public class ArraysT { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int[] n1 = { 2, 3, 1, 4, 6, 5, 7, 9, 8, 0 };
    Arrays.sort(n1);//返回类型为void
    System.out.println(Arrays.toString(n1));
    }}可以输出结果为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]