黑马程序员技术交流社区

标题: 经常遇到的易错,易考,面试题目程序代码 [打印本页]

作者: 曹操001    时间: 2015-6-28 01:05
标题: 经常遇到的易错,易考,面试题目程序代码
  需求:
     九九乘法表:

     1*1=1
     1*2=2 2*2=4
     1*3=3 2*3=6 3*3=9
     1*4=4 2*4=8 3*4=12 4*4=16
     ...
     1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

     转义字符:
          \n     换行
          \r     回车
          \t     tab键位置
*/
class ForForTest
{
     public static void main(String[] args)
     {
          for(int x=1; x<=9; x++)
          {
               for(int y=1; y<=x; y++)
               {
                    System.out.print(y+"*"+x+"="+y*x+"\t");
               }
               System.out.println();
          }
     }
}




/*
     请在控制台输出下列形状:
     *****
     ****
     ***
     **
     *

     倒三角形:
          外循环控制行,内循环控制列。与长方形相比内循环的初始化条件发生变化。
*/
class ForForDemo3
{
     public static void main(String[] args)
     {
          //基本的做法
          for(int x=0; x<5; x++)
          {
               for(int y=0; y<5; y++)
               {
                    System.out.print("*");
               }
               System.out.println();
          }
          System.out.println("-------------");

          /*
               通过观察,我们发现:
               第一行 5列     0 - 5
               第二行 4列  1 - 5
               第三行 3列     2 - 3
               第四行 2列  3 - 5
               第五行 1列  4 - 5
          */
          /*
          int z = 0;
          for(int x=0; x<5; x++)
          {
               for(int y=z; y<5; y++)
               {
                    System.out.print("*");
               }
               z++;
               System.out.println();
          }
          System.out.println("-------------");
          */
          //你还发现,z的变化其实和x是一致的。
          for(int x=0; x<5; x++)
          {
               for(int y=x; y<5; y++)
               {
                    System.out.print("*");
               }
               System.out.println();
          }
          System.out.println("-------------");
     }
}


求5的阶乘。
          阶乘:5*4*3*2*1

          class JieCheng {
               public static  void main(String[] args) {
                    int jc = 1;

                    for(int x=2; x<=5; x++) {
                         jc *= x;
                    }

                    System.out.println(jc);
               }
          }

import java.util.Arrays;

/*
* Arrays:针对数组操作的工具类。排序和查找。
*
*     功能:
*     public static String toString(int[] a):把整型数组转变成字符串。
*     public static void sort(int[] a):对数组进行排序
*     public static int binarySearch(int[] a,int key):对数组进行二分查找。
*
*     练习:请自己写代码,测试这三个方法。
*/
public class ArraysDemo {
     public static void main(String[] args) {
          // 定义数组
          int[] arr = { 23, 84, 51, 72, 69 };

          // public static String toString(int[] a):把整型数组转变成字符串。
          String str = Arrays.toString(arr);
          System.out.println(str);

          // public static void sort(int[] a):对数组进行排序
          Arrays.sort(arr);
          System.out.println(Arrays.toString(arr));

          // public static int binarySearch(int[] a,int key):对数组进行二分查找。
          int[] arr2 = { 12, 23, 34, 45, 56, 67 };
          // 查找23的索引
          System.out.println(Arrays.binarySearch(arr2, 23));
          // 查找27的索引
          System.out.println(Arrays.binarySearch(arr2, 27));
     }
}





/*
* 对字符串中字符进行自然排序:
* "basckd" -- "abcdks"
*
*     思路:
*          A:把字符串变成字符数组
*          B:对字符数组进行排序
*          C:把排序后的字符数组转换成字符串
*/
public class StringTest3 {
     public static void main(String[] args) {
          String s = "basckd";

          // 把字符串变成字符数组
          char[] chs = s.toCharArray();

          // 对字符数组进行排序
          bubbleSort(chs);

          // 把排序后的字符数组转换成字符串
          /*
          * 方式1:构造方法
          * 方式2:静态方法 copyValueOf()
          * 方式3:静态方法 valueOf()
          */
          String result = new String(chs);
          System.out.println(result);
     }

     public static void bubbleSort(char[] chs) {
          for (int x = 0; x < chs.length - 1; x++) {
               for (int y = 0; y < chs.length - 1 - x; y++) {
                    if (chs[y] > chs[y + 1]) {
                         char ch = chs[y];
                         chs[y] = chs[y + 1];
                         chs[y + 1] = ch;
                    }
               }
          }
     }
}

字符串和字符数组的转换:
package cn.itcast_05;

/*
* byte[] getBytes():把字符串转换成字节数组。
* char[] toCharArray():把字符串转换成字符数组。
* static String copyValueOf(char[] chs):把字符数组转换成字符串。
* static String valueOf(char[] chs):把字符数组转换成字符串。
* static String valueOf(int i)基本类型:把int(基本类型)转换成字符串。
* String toLowerCase():把字符串变成小写
* String toUpperCase():把字符串变成大写
* String concat(String str):拼接字符串。
*/
public class StringDemo {
     public static void main(String[] args) {
          // 创建字符串对象
          String s = "HelloWorld";

          // byte[] getBytes():把字符串转换成字节数组。
          byte[] bys = s.getBytes();
          for (int x = 0; x < bys.length; x++) {
               System.out.println(bys[x]);
          }
          System.out.println("-----------------");

          // char[] toCharArray():把字符串转换成字符数组。
          char[] chs = s.toCharArray();
          for (int x = 0; x < chs.length; x++) {
               System.out.println(chs[x]);
          }
          System.out.println("-----------------");

          // static String copyValueOf(char[] chs):把字符数组转换成字符串。
          char[] chs2 = { 'a', 'b', 'c', '中', '国' };
          String s2 = String.copyValueOf(chs2);
          System.out.println(s2);
          System.out.println("-----------------");

          // static String valueOf(char[] chs):把字符数组转换成字符串。
          String s3 = String.valueOf(chs2);
          System.out.println(s3);
          System.out.println("-----------------");

          // static String valueOf(int i)
          int i = 100;
          String s4 = String.valueOf(i);
          System.out.println(s4);
          System.out.println("-----------------");

          // String toLowerCase():把字符串变成小写
          System.out.println(s.toLowerCase());
          // String toUpperCase():把字符串变成大写
          System.out.println(s.toUpperCase());
          System.out.println("-----------------");

          // String concat(String str):拼接字符串。
          String s5 = "hello";
          String s6 = s5 + "world";
          String s7 = s5.concat("world");
          System.out.println(s6);
          System.out.println(s7);
     }
}

找出F盘里的“java”格式的文件
package cn.itcast_07;
import java.io.File;

public class FileDemo {
  public static void main(String[] args) {
     File file=new File("F:\\");
     File[] array=file.listFiles();
     for(File f:array){
          if(f.isFile()){
               String name=f.getName();
               if(name.endsWith(".java")){
                    System.out.println(name);
               }
          }
     }
}
}

作者: 曹操001    时间: 2015-6-28 01:07
多维数组元素的遍历
class Test{
     public static void main(String[] args) {
     int[][] arr={{3,8,2,9},{2,7},{9,0,1,6}};
     for(int x=0;x<arr.length;x++){
          for(int y=0;y<arr[x].length;y++){
               System.out.print(arr[x][y]+",");
          }
          System.out.println();
     }
     }
   
}
3,8,2,9,
2,7,
9,0,1,6,
写一个长方形类,里面有求周长和面积的功能。
    然后在测试类中进行测试。
import java.util.Scanner;

class RectTest {
     public static void main(String[] args) {
          Rect r = new Rect();
          Scanner sc = new Scanner(System.in);
          System.out.println("请输入长方形的长:");
          r.length = sc.nextInt();
          System.out.println("请输入长方形的宽:");
          r.width = sc.nextInt();

          int zhouChang = r.getZhouChang();
          int area = r.getArea();

          System.out.println("该长方形的周长是:"+zhouChang);
          System.out.println("该长方形的面积是:"+area);
     }
}

class Rect {
     //长
     int length;
     //宽
     int width;

     //求周长
     public int getZhouChang() {
          return (length + width)*2;
     }

     //求面积
     public int getArea() {
          return length * width;
     }
}

产生一个1-100之间的随机数
          (int)(Math.random()*100)+1
*/
class MathDemo
{
     public static void main(String[] args)
     {
          //public static double random()
          //返回带正号的 double 值,该值大于等于 0.0 且小于 1.0
          double d = Math.random();
          System.out.println(d);

          //改进:我要获取的数据是1-100之间。
          int number = (int)(d*100)+1;
          System.out.println(number);
     }
冒泡排序

        1. public class SortTest {  
        2.   
        3.     /**
        4.      * @param args
        5.      */  
        6.     public static void main(String[] args) {  
        7.         // TODO Auto-generated method stub  
        8.         int[] a = { 62, 54, 68, 73, 99, 22, 46, 83, 22, 70 };  
        9.         sortMethod1(a);  
        10.         //sortMethod2(a);  
        11.     }  
        12.   
        13.     public static void sortMethod1(int[] s) {  
        14.         int temp;  
        15.         for (int i = 0; i < s.length - 1; i++) {  
        16.             for (int j = i + 1; j < s.length; j++) {  
        17.                 if (s[i] > s[j]) {  
        18.                     temp = s[i];  
        19.                     s[i] = s[j];  
        20.                     s[j] = temp;  
        21.                 }  
        22.                 for (int k = 0; k < s.length; k++) {//输出动态  
        23.                     System.out.print(s[k] + ", ");  
        24.                 }  
        25.                 System.out.println(" ");  
        26.             }  
        27.             System.out.println(" ");  
        28.         }  
        29.     }  
        30.   
        31.     public static void sortMethod2(int[] s) {  
        32.         int temp;  
        33.         for (int i = 1; i <= s.length; i++) {  
        34.             for (int j = 0; j < s.length - 1; j++) {  
        35.                 if (s[j] > s[j + 1]) {  
        36.                     temp = s[j];  
        37.                     s[j] = s[j + 1];  
        38.                     s[j + 1] = temp;  
        39.                 }  
        40.                 for (int k = 0; k < s.length; k++) {//输出动态  
        41.                     System.out.print(s[k] + ", ");  
        42.                 }  
        43.                 System.out.println(" ");  
        44.             }  
        45.             System.out.println(" ");  
        46.         }  
        47.     }  
        48. }  


作者: lvzhfeng    时间: 2015-6-28 05:48
支持,加油。。
作者: 腹黑生姜    时间: 2015-6-28 07:35
多看看,基础更要看
作者: 走在这里    时间: 2015-6-28 10:30
谢谢,基础一定要扎实 ,不然都进行不下去
作者: 风随心动    时间: 2015-6-28 11:01
又看到楼主发这种好贴了 ,真的很赞
作者: 1千克=1024克    时间: 2015-6-28 12:07
技术贴   基础贴   谢谢分享
作者: keto    时间: 2015-6-28 12:16
谢谢lz分享,很详细。。。
作者: wenxueaaa555    时间: 2015-6-28 12:54
你这全是代码,很难看得懂,能不能来点文字总结啊
作者: asinzuo    时间: 2015-6-28 13:09
不错,谢谢分享!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2