zoukankan      html  css  js  c++  java
  • java积累

    数组的使用

    package javaDemo;
    import java.util.*;
    /**
     * 
     * @author Administrator
     * @version 1.0
     * 
     *
     */
    public class test {
        public static void main(String[] args)
        {
            String[] greeting = new String[3];
            greeting[0] = "Welcome to Core Java";
            greeting[1] = "by Cay Horstmann";
            greeting[2] = "and Gary Cornell";
    
            for (String g : greeting)
                System.out.println(g);
        }
        
    }


    eclipse格式化快捷键Ctrl+Shift+F

    jFrame

    package javaDemo;
    
    /**
     * 
     * @author Administrator
     * @version 1.0
     * 
     *
     */
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    
    /**
     * A program for viewing images.
     */
    public class ImageViewer {
        public static void main(String[] args) {
            JFrame frame = new ImageViewerFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }
    }
    
    /**
     * A frame with a label to show an image.
     */
    class ImageViewerFrame extends JFrame {
        public ImageViewerFrame() {
            setTitle("ImageViewer");
            setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
    
            // use a label to display the images
            label = new JLabel();
            add(label);
    
            // set up the file chooser
            chooser = new JFileChooser();
            chooser.setCurrentDirectory(new File("."));
    
            // set up the menu bar
            JMenuBar menuBar = new JMenuBar();
            setJMenuBar(menuBar);
    
            JMenu menu = new JMenu("文件");
            menuBar.add(menu);
    
            JMenuItem openItem = new JMenuItem("打开");
            menu.add(openItem);
            openItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event) {
                    // show file chooser dialog
                    int result = chooser.showOpenDialog(null);
    
                    // if file selected, set it as icon of the label
                    if (result == JFileChooser.APPROVE_OPTION) {
                        String name = chooser.getSelectedFile().getPath();
                        label.setIcon(new ImageIcon(name));
                    }
                }
            });
    
            JMenuItem exitItem = new JMenuItem("退出");
            menu.add(exitItem);
            exitItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event) {
                    System.exit(0);
                }
            });
        }
    
        private JLabel label;
        private JFileChooser chooser;
        private static final int DEFAULT_WIDTH = 400;
        private static final int DEFAULT_HEIGHT = 500;
    }

     BigIntegerTest

    package javaDemo; //首先要引入包
    /**
      * @version 1.20 2004-02-10
      * @author Cay Horstmann
      *
      **/
    
    import java.math.*; //引入一些math相关的东西
    import java.util.*;
    
    public class BigIntegerTest //类名和文件名要相同
    {  
       public static void main(String[] args)  //主函数也就是入口函数
       {  
          Scanner in = new Scanner(System.in); //键盘输入的对象
    
          System.out.print("How many numbers do you need to draw? ");
          int k = in.nextInt(); //获取数据,存入变量k中
          
          System.out.print("What is the highest number you can draw? ");
          int n = in.nextInt(); //获取数据,存入变量n中
    
          /* 
             compute binomial coefficient
             n * (n - 1) * (n - 2) * . . . * (n - k + 1)
             -------------------------------------------
             1 * 2 * 3 * . . . * k
          */
    
          BigInteger lotteryOdds = BigInteger.valueOf(1);
    
          for (int i = 1; i <= k; i++)
             lotteryOdds = lotteryOdds
                .multiply(BigInteger.valueOf(n - i + 1))
                .divide(BigInteger.valueOf(i));
          
          System.out.println("Your odds are 1 in " + lotteryOdds + ". Good luck!");//进行一些处理
       }
    }

     稍微复杂的算法

    package javaDemo; //首先要引入包
    /**
       @version 1.40 2004-02-10
       @author CayHorstmann
    */
    
    public class CompoundInterest
    {
       public static void main(String[] args)
       {
          final int STARTRATE = 10; //定义常量
          final int NRATES = 6;
          final int NYEARS = 10;
    
          // set interest rates to 10 . . . 15%
          double[] interestRate = new double[NRATES]; //新建数组
          for (int j = 0; j < interestRate.length; j++)
             interestRate[j] = (STARTRATE + j) / 100.0; //给数组赋值
    
          double[][] balances = new double[NYEARS][NRATES]; //定义二维数组
    
          // set initial balances to 10000
          for (int j = 0; j < balances[0].length; j++)
             balances[0][j] = 10000;
    
          // compute interest for future years
          for (int i = 1; i < balances.length; i++)
          {
             for (int j = 0; j < balances[i].length; j++)
             {
                // get last year's balances from previous row
                double oldBalance = balances[i - 1][j];
    
                // compute interest
                double interest = oldBalance * interestRate[j];
    
                // compute this year's balances
                balances[i][j] = oldBalance + interest;
             }
          }
    
          // print one row of interest rates
          for (int j = 0; j < interestRate.length; j++)
             System.out.printf("%9.0f%%", 100 * interestRate[j]);
    
          System.out.println();
    
          // print balance table
          for (double[] row : balances)
          {
             // print table row
             for (double b : row)
                System.out.printf("%10.2f", b);
    
             System.out.println();
          }
       }
    }

    同一个包下可以互相引用类,并使用其中方法
    CompoundInterest comp = new CompoundInterest();
    comp.main(args);

    package javaDemo; //首先要引入包
    /**
       @version 1.10 2004-02-10
       @author Cay Horstmann
    */
    
    import java.util.*;
    
    public class InputTest
    {  
       public static void main(String[] args)
       {  
          Scanner in = new Scanner(System.in);
    
          // get first input
          System.out.print("你叫什么名字? ");
          String name = in.nextLine();
    
          // get second input
          System.out.print("你多大了? ");
          int age = in.nextInt();
    
          // display output on console
          System.out.println("你好, " + name + ". 明年, 你的年龄将会是 " + (age + 1));
       }
    }

    如何调整console字体大小? 

    打开window - preferences-- general - appearance - colors and fonts --debug - console font 就可以调节了。

    我表示看不懂,这算法太复杂了,工作这么久,都不懂。

    package javaDemo;
    /**
       @version 1.20 2004-02-10
       @author Cay Horstmann
    */
    
    public class LotteryArray
    {
       public static void main(String[] args)
       {
          final int NMAX = 5; //定义常量
    
          // allocate triangular array
          int[][] odds = new int[NMAX + 1][]; //定义数组
          for (int n = 0; n <= NMAX; n++)
             odds[n] = new int[n + 1];
    
          // fill triangular array
          for (int n = 0; n < odds.length; n++)
             for (int k = 0; k < odds[n].length; k++)
             {
                /*
                   compute binomial coefficient
                   n * (n - 1) * (n - 2) * . . . * (n - k + 1)
                   -------------------------------------------
                   1 * 2 * 3 * . . . * k
                */
                int lotteryOdds = 1;
                for (int i = 1; i <= k; i++)
                   lotteryOdds = lotteryOdds * (n - i + 1) / i;
    
                odds[n][k] = lotteryOdds;
             }
    
          // print triangular array
          for (int[] row : odds)
          {
             for (int odd : row)
                System.out.printf("%4d", odd);
             System.out.println();
          }
       }
    }

     表示作者很牛逼。

    /**
       @version 1.20 2004-02-10
       @author Cay Horstmann
    */
    package javaDemo;
    import java.util.*;
    
    public class LotteryDrawing
    {  
       public static void main(String[] args)
       {  
          Scanner in = new Scanner(System.in);
    
          System.out.print("How many numbers do you need to draw? ");
          int k = in.nextInt();
          
          System.out.print("What is the highest number you can draw? ");
          int n = in.nextInt();
    
          // fill an array with numbers 1 2 3 . . . n
          int[] numbers = new int[n];  //定义一维数组
          for (int i = 0; i < numbers.length; i++)
             numbers[i] = i + 1;//赋值
    
          // draw k numbers and put them into a second array
          int[] result = new int[k];
          for (int i = 0; i < result.length; i++)
          {  
             // make a random index between 0 and n - 1
             int r = (int) (Math.random() * n); //直接使用Math的random方法
    
             // pick the element at the random location
             result[i] = numbers[r];
    
             // move the last element into the random location
             numbers[r] = numbers[n - 1];
             n--;
          }
    
          // print the sorted array
          Arrays.sort(result); //排序数组
          System.out.println("Bet the following combination. It'll make you rich!");
          for (int r : result)
             System.out.println(r);
       }
    }
  • 相关阅读:
    Python内置模块02
    Python常用模块
    hdu 5943(素数间隔+二分图匹配)
    poj 3372(找规律)
    poj 2369(置换群)
    poj 3270(置换群+贪心)
    bzoj 4034(DFS序+线段树)
    poj 2337(单向欧拉路的判断以及输出)
    poj 1041(字典序输出欧拉回路)
    csu 1798(树上最远点对,线段树+lca)
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/3727757.html
Copyright © 2011-2022 走看看