zoukankan      html  css  js  c++  java
  • java第11次作业

    一、题目

    题目1:编写一个应用程序,统计输入的一个字符串中相同字符的个数,并将统计结果输出。

    题目2:编写程序,输入一个字符串,判断该串中的字母能否组成一个回文串(回文串:一个字符串从前向后读取和从后向前读取都一样)。如:ab<c>c?ba

    二、代码

    package wenbowindf.ScamnnerSameString;
    
    public class Demo {//借鉴谢晓飞的代码,具体代码流程已虚心向本人学习,且已融会贯通,全部基础代码已注释完毕
    
    	public static void main(String[] args) {
    		Palindrome.Palindrome("abcba");
    		CompareStrings.getNum("老师,请提问我寝室大哥-张九川");
    	}
    
    }
    

      

    package wenbowindf.ScamnnerSameString;
    
    import java.util.Iterator;
    import java.util.LinkedList;
    
    public class CompareStrings {//比较字符串中有多少个相同字符
    	 public static void getNum(String s) {
    
    	        LinkedList<Character> link = new LinkedList<Character>();//创建一个集合link
    	        int []num = new int[100] ;                               //创建一个名为num的100长度的一维数组
    	        int count = 0;                                           //创建一个变量count,赋值初始值0
    	        int index = 0;                                           //创建一个变量index,赋值初始值0
    	        int index1 = 0;                                          //创建一个变量index,赋值初始值0
    	        for(int i = 0; i < s.length(); i++) {                    //遍历字符串s
    	               for(int j = 0; j < s.length(); j++) {
    	                   if (s.charAt(i)==s.charAt(j)){                //判断s中字母是否相同
    	                       count++;                                  //如果i相同的话就count++
    	                   }
    	               }
    	            if(!(link.contains(s.charAt(i)))) {                  //s中第i位的字母是否在集合link中出现
    	               link.add(s.charAt(i));                            //link中没有s中第i位的字母就把该字母装进link
    	                num[index++]=count;                              //把count的值赋给数组num的第index位
    	            }
    	        }
    	        Iterator<Character> it = link.iterator();                //打印link结合
    	        while(it.hasNext()) {                                    //利用it.hasNext方法,判断link集合里是否有值,有的话就执行下面语句体
    	            System.out.println(it.next()+":"+num[index1++]);     //it.next()的意思是返回迭代的下一个元素
    	            index++;
    	        }
    	    }
    }
    

      

    package wenbowindf.ScamnnerSameString;
    
    public class Palindrome {
    	 public static void Palindrome(String s) {
    	        char arry[] = s.toCharArray();   //字符串转化为字符数组
    	        boolean judge = true;             //定义一个judge变量为ture
    	        int l = arry.length;
    	        for(int i =0;i<l;i++) {          
    	            if(arry[i]!=arry[l-i-1]) {//判断数组里第i位与第l-i-1位是否相同
    	            	judge = false;        //相同就赋judge为false
    	            }
    	        }
    	        if(judge) {                
    	            System.out.println(s+"是回文");
    	        }else {
    	            System.out.println(s+"不是回文");
    	        }
    	    }
    }
    

      

      

     三、运行结果



     

  • 相关阅读:
    【转】对象持久化与数据序列化的联系?
    【转】Linux安装方法一(U盘引导)
    bash中的"-n"、"-z" 以及“[]” 、“[[]]”判断
    mysql获取行号
    IP白名单
    复合赋值位运算符“&=、| =”
    Java匿名内部类访问外部
    mysql的orde by 按照指定状态顺序排序
    Spring声明式事务
    定时任务总结
  • 原文地址:https://www.cnblogs.com/anemone0919/p/11900968.html
Copyright © 2011-2022 走看看