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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yinzhenyu 初级黑马   /  2014-9-22 19:01  /  7676 人查看  /  41 人回复  /   6 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.itheima;

  2. public class test6 {

  3.         /**
  4.          *
  5.          * 6.编写程序,打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72
  6.          *
  7.          * 思路:
  8.          * 1到100,不包含7,即十位与个位不能为7
  9.          * @param args
  10.          */
  11.         public static void main(String[] args) {
  12.                
  13.                 for (int i = 1; i <=100; i++) {
  14.                        
  15.                         if(i%10!=7 && i/10!=7)
  16.                                 System.out.print(i+",");
  17.                                
  18.                 }

  19.         }

  20. }
复制代码


41 个回复

倒序浏览
  1. package com.itheima;
  2. import java.util.ArrayList;
  3. import java.util.Stack;


  4. public class Test7 {
  5.        
  6.         /**
  7.          * 7.编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
  8.          * 原始字符串是"abc",打印得到下列所有组合情况:
  9.          *       "a" "b" "c"
  10.          *       "ab" "bc" "ca" "ba" "cb" "ac"
  11.          *       "abc" "acb" "bac" "bca" "cab" "cba"
  12.      *思路:
  13.      *1.先求字符串的所有组合情况
  14.      *2.求各组合子串的所有排列情况
  15.      *
  16.          *
  17.          */
  18.              //保存字符串的所有组合情况
  19.          public static ArrayList<char[]> list =new ArrayList<char[]>();
  20.          //保存字符串的全字符组合
  21.          public static ArrayList<String> list2 = new ArrayList<String>();
  22.         
  23.                  /*
  24.                  * 获得字符串 str 的全部组合情况
  25.                  * 例如 "abc"  ---> "abc" "ab"  "a"  "ac"  "bc" "b" "c"
  26.                  * 并把全部组合情况保存到 ArrayList list中
  27.                  *
  28.                  */
  29.          public static void selectChar(char[] str,int begin,int m,Stack<Character>select){
  30.              //递归出口   
  31.                  if(m == 0){
  32.                              //将集合转数组,并写上转型
  33.                          Object[] Ochars = select.toArray();
  34.                          //定义一个数组容器,长度为集合的长度
  35.                          char []chars = new char[Ochars.length];
  36.                          for(int i = 0;i < Ochars.length;i++){
  37.                                     //赋值
  38.                                  chars[i] = (Character)Ochars[i];
  39.                          }
  40.                          list.add(chars);
  41.                          return;
  42.                  }
  43.                  //元素进栈
  44.                  select.push(str[begin]);
  45.                  //递归调用,从下一个位置获取m-1个元素
  46.                  selectChar(str,begin + 1,m - 1,select);
  47.                  //元素出栈
  48.                  select.pop();
  49.                  selectChar(str,begin + 1  ,m - 1 ,select);
  50.          }
  51.          /**
  52.           * 求一个字符串的所有排列情况
  53.          *
  54.           */
  55.          public static void permutation(char[] str,int begin,int end){
  56.                  if(begin == end){
  57.                          list2.add(new String(str));
  58.                          return;
  59.                  }
  60.                  for(int j=begin;j<=end;j++){
  61.                              //元素交换
  62.                          swap(str,begin,j);
  63.                          //递归调用
  64.                          permutation(str,begin + 1,end);
  65.                          //回溯
  66.                          swap(str,begin,j);
  67.                  }
  68.                  
  69.          }
  70.          //元素的交换
  71.          public static void swap(char[]str,int i,int j){
  72.                  char temp = str[i];
  73.                  str[i] = str[j];
  74.                  str[j] = temp;
  75.          }
  76.          public static void main(String[] args) {
  77.              String str = "abc";
  78.              Stack<Character> s = new Stack<Character>();
  79.              //获得元素所有组合
  80.              selectChar(str.toCharArray(),0,str.length(),s);
  81.              //实现组合字符串的所有排列
  82.              for(int i = 0;i<list.size();i++){
  83.                          //取得所有排列组合的子串
  84.                      char[] c = list.get(i);
  85.                      //将子串排列
  86.                      permutation(c,0,c.length - 1);
  87.              }
  88.              for(int j = 0;j<list2.size();j++){
  89.                      System.out.print("'"+list2.get(j)+"'"+" ");
  90.              }
  91.      }
  92. }
复制代码


回复 使用道具 举报
  1. package com.itheima;

  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;

  5. public class test8 {

  6.         /**
  7.          * 8. 编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串
  8.          * @param args
  9.          */
  10.          public static void main(String[] args)throws IOException {
  11.                
  12.                 System.out.println("请从键盘上随便输入一个带扩展名的文件");
  13.                 //对使用者输入的字符进行缓冲
  14.                 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  15.                 //读取整行字符串
  16.                 String s=br.readLine();
  17.                 System.out.println("文件扩展名为:"+getPath( s));
  18.                 }
  19.        
  20.          
  21.          //获取文件扩展名
  22.     public static String getPath(String path)
  23.                 {

  24.                 if( path==null||path.lastIndexOf(".")==-1)
  25.                         return null;
  26.                    else{
  27.                        
  28.                            return path.substring(path.lastIndexOf(".")+1);
  29.                    }
  30.                 }
  31.                
  32. }



  33.                

复制代码


回复 使用道具 举报
  1. package com.itheima;

  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.List;

  5. public class test9 {

  6.         /**
  7.          *
  8.          * 9.定义一个静态方法,该方法可以接收一个List<Integer>,方法内对List进行排序
  9.          *
  10.          * 思路:
  11.          * 很简单,用Collections中的sort方法就行,然后封装到mySort方法中
  12.          * @param args
  13.          */
  14.         public static void main(String[] args) {
  15.                
  16.                 //创建一个ArrayList对象
  17.                 List<Integer> list =new ArrayList<Integer>();
  18.                 //添加元素
  19.                 list.add(3);
  20.                 list.add(1);
  21.                 list.add(5);
  22.                 list.add(9);
  23.                 list.add(7);
  24.                 list.add(4);
  25.                 mySort(list);
  26.                 System.out.println(list);
  27.                

  28.         }

  29.         private static void mySort(List<Integer> list) {
  30.                 //集合工具类
  31.                 Collections.sort(list);
  32.         }

  33. }
复制代码


回复 使用道具 举报
  1. package com.itheima;

  2. import java.util.Collections;
  3. import java.util.Comparator;
  4. import java.util.Iterator;
  5. import java.util.TreeSet;

  6. public class test10 {

  7.         /**
  8.          *
  9.          * 10.声明类Student,包含3个成员变量:name、age、score,创建5个对象装入TreeSet,按照成绩排序输出结果(考虑成绩相同的问题)
  10.          * @param args
  11.          */
  12.        
  13.         public static void main(String[] args) {
  14.                 //新建一个TreeSet对象,使用自定义比较器并将打印结果反转
  15.                 TreeSet<Student> ts = new TreeSet<Student>(Collections.reverseOrder(new ComparatorByScore()));
  16.                 //添加元素
  17.                 ts.add(new Student("赵",23,98));
  18.                 ts.add(new Student("钱",23,96));
  19.                 ts.add(new Student("孙",26,99));
  20.                 ts.add(new Student("李",24,94));
  21.                 ts.add(new Student("周",22,98));
  22.                 //使用迭代器,获取迭代器对象
  23.                 Iterator<Student> it = ts.iterator();
  24.                 while(it.hasNext()){
  25.                         Student me =(Student)it.next();
  26.                         System.out.println(me.getName()+"::"+me.getAge()+"::"+me.getScore());
  27.                 }
  28.                

  29.         }

  30. }
  31. class Student{
  32.        
  33.         private String name;
  34.         private int age;
  35.         private int score;
  36.         public String getName() {
  37.                 return name;
  38.         }
  39.         public void setName(String name) {
  40.                 this.name = name;
  41.         }
  42.         public int getAge() {
  43.                 return age;
  44.         }
  45.         public void setAge(int age) {
  46.                 this.age = age;
  47.         }
  48.         public int getScore() {
  49.                 return score;
  50.         }
  51.         public void setScore(int score) {
  52.                 this.score = score;
  53.         }
  54.         public Student() {
  55.                 super();
  56.                
  57.         }
  58.         public  Student(String name, int age, int score) {
  59.                 super();
  60.                 this.name = name;
  61.                 this.age = age;
  62.                 this.score = score;
  63.         }
  64. //        public int compareTo(Student s){
  65. //                int temp = this.score - s.score;
  66. //                return temp==0?this.name.compareTo(s.name):temp;
  67. //        }
  68.        
  69.        
  70. }

  71. //自定义比较器
  72. class ComparatorByScore implements Comparator<Student>{
  73.        
  74.        public int compare(Student s1, Student s2) {
  75.                
  76.                 int temp = s1.getScore()-s2.getScore();
  77.                
  78.                 return temp==0?s1.getName().compareTo(s2.getName()):temp;
  79.         }
  80. }
复制代码


回复 使用道具 举报
看看!!!!
回复 使用道具 举报
马一个,之后学习下~谢谢经验分享~
回复 使用道具 举报
暴君 中级黑马 2014-10-22 16:44:14
8#
正好不会这个,学习下
回复 使用道具 举报
希望可以有所帮助
回复 使用道具 举报
ggfdgdsdsfdsfsd
回复 使用道具 举报
看一下  学习了
回复 使用道具 举报
顶一顶!!!
回复 使用道具 举报
好像        还有 71-79之间没去掉.....
应该:再加一个判断
for (int i = 1; i <=100; i++) {
                        if(i%10!=7 && i/10!=7)
                                    if(i<70 || i>79)
                                System.out.print(i+",");
回复 使用道具 举报
学习一下
回复 使用道具 举报
谢谢分享,学习一下。
回复 使用道具 举报
曾勇 中级黑马 2014-11-18 23:03:25
16#
学习了  ,有用,谢谢楼主分享
回复 使用道具 举报
小手一抖,马币拿走。
回复 使用道具 举报
好分享  谢了
回复 使用道具 举报
不错的学习资料
回复 使用道具 举报
米家小九 来自手机 中级黑马 2014-12-23 20:24:13
20#
楼主大爱
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马