2016a

Материал из PTHSWiki
Перейти к: навигация, поиск

Содержание

Java Swing. ActionListener

class Window3 extends JFrame {
        int num1;
        char operation;
        Window3() {
                super("Ы:)");
                operation = 'E';
                setSize(700, 666);
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
               
                Box b = Box.createVerticalBox();
               
                final JButton b1 = new JButton("+");
                b.add(b1);
                final JButton b2 = new JButton("-");
                b.add(b2);
                final JButton b3 = new JButton("=");
                b.add(b3);             
               
                final JTextArea tf = new JTextArea();
                b.add(tf);
                tf.setText("0");
               
                ActionListener al = new ActionListener() {                     
                        @Override
                        public void actionPerformed(ActionEvent arg0) {
                                if (operation != 'E') {
                                        b3.doClick();
                                }
                               
                                num1 = Integer.parseInt(tf.getText());
                                tf.setText("");
                                operation = ((JButton)(arg0.getSource())).getText().charAt(0);
                        }
                };
               
                b1.addActionListener(al);
                b2.addActionListener(al);
               
                b3.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                                int num2 = Integer.parseInt(tf.getText());
                               
                                switch (operation) {
                                        case '+':
                                                tf.setText(Integer.toString(num1+num2));
                                                break;
                                        case '-':
                                                tf.setText(Integer.toString(num1-num2));
                                                break;                                         
//                                      default:
//                                              tf.setText("");
                                }
                               
                                operation = 'E';
                        }
                });
               
                setContentPane(b);
        }
}

Java Swing. JTabbedPane

                Box b = Box.createVerticalBox();

                JTabbedPane tp = new JTabbedPane();
                JPanel panel1 = new JPanel();
                panel1.setLayout(new FlowLayout());
                panel1.add(new JButton("1111111"));
                JTextArea ta = new JTextArea(20, 20);
                panel1.add(ta);
                panel1.add(new JScrollPane(ta));
                tp.addTab("Заголовок", panel1);
                JPanel panel2 = new JPanel();
                panel2.setLayout(new FlowLayout());
                panel2.add(new JButton("2222222"));
                panel2.add(new JTextArea(20, 20));
                tp.addTab("Заголовок2", panel2);
               
                b.add(tp);

Java Swing. JFileChooser

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

import javax.swing.*;

class Window2 extends JFrame {
       
       
        Window2() {
                super("Ы)");
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setSize(300, 400);
               
                Box b = Box.createVerticalBox();
               
                JButton b1 = new JButton("+");
                b.add(b1);
                JButton b2 = new JButton("Exit");
                b.add(b2);
               
                final JTextArea tf = new JTextArea();
                b.add(tf);
               
                b1.addActionListener(new ActionListener() {
                       
                        @Override
                        public void actionPerformed(ActionEvent e) {
                                JFileChooser opener = new JFileChooser();
                                int res = opener.showOpenDialog(getParent());
                                if (res == JFileChooser.APPROVE_OPTION) {
                                        File f = opener.getSelectedFile();
                                        try {
                                                Scanner s = new Scanner(f);
                                                while (s.hasNext()) {
                                                        String str = s.nextLine();
                                                        tf.append(str+"\n");
                                                }
                                        } catch (FileNotFoundException e1) {
                                                // TODO Auto-generated catch block
                                                e1.printStackTrace();
                                        }
                                }
                        }
                });
               
                b2.addActionListener(new ActionListener() {
                       
                        @Override
                        public void actionPerformed(ActionEvent arg0) {
                                System.exit(0);                        
                        }
                });
               
                setContentPane(b);
}
}

public class Main {

        public static void main(String[] args) {
                JFrame w = new Window2();
                w.setVisible(true);
        }

}

Java Swing

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Random;

import javax.swing.*;

class TestWindow extends JFrame {
        TestWindow() {
                super("Заголовок окна");
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setSize(300, 400);
               
//              JPanel panel = new JPanel();
//              panel.setLayout(new BorderLayout());
//             
//              JPanel upPanel = new JPanel();
//              upPanel.setLayout(new FlowLayout());
//              JButton b1 = new JButton("1");
//              upPanel.add(b1);
//              JButton b2 = new JButton("2");
//              upPanel.add(b2);
//             
//              JPanel downPanel = new JPanel();
//              downPanel.setLayout(new FlowLayout());
//              JButton b3 = new JButton("3");
//              downPanel.add(b3);
//              JButton b4 = new JButton("4");
//              downPanel.add(b4);
//
//              panel.add(upPanel, BorderLayout.NORTH);
//              panel.add(downPanel, BorderLayout.SOUTH);
//              setContentPane(panel);
               
//              Box box = Box.createVerticalBox();
//              JButton b1 = new JButton("1");
//              JButton b2 = new JButton("2");
//              JButton b3 = new JButton("3");
//              JButton b4 = new JButton("4");
//              box.add(b1);
//              box.add(Box.createVerticalStrut(20));
//              box.add(b2);
//              box.add(Box.createVerticalGlue());
//              box.add(b3);
//              box.add(b4);
//              setContentPane(box);
               
                final JPanel panel = new JPanel();
                panel.setLayout(null);
                final JButton b1 = new JButton("1");
                b1.setSize(100, 57);
                b1.setLocation(100, 87);
               
                b1.addActionListener(new ActionListener() {                    
                        public void actionPerformed(ActionEvent e) {
                                Random r = new Random();
                                b1.setLocation(r.nextInt(panel.getWidth()), r.nextInt(panel.getHeight()));
                                int a = Integer.parseInt(b1.getText());
                               
                                b1.setText(Integer.toString(a+1));
                        }
                });

                b1.addMouseListener(new MouseAdapter() {                       
                        public void mouseEntered(MouseEvent e) {
                                Random r = new Random();
                                b1.setLocation(r.nextInt(panel.getWidth()), r.nextInt(panel.getHeight()));
                                int a = Integer.parseInt(b1.getText());
                               
                                b1.setText(Integer.toString(a+1));
                        }
                });
               
                panel.add(b1);
                setContentPane(panel);         
        }
}

public class Main {
        public static void main(String[] args) {
                JFrame window = new TestWindow();
                window.setVisible(true);
        }
}


Задание по отладке

public class Errors {
        public static void main(String[] args) {
                int arr[] = new int[20];
               
                for (int i = 0; i <= 20; i++) {
                        arr[i] = i*i;
                }
               
                int sum = 0;
                for (int i = 0; i <= 20; i++) {
                        if (i % 2 == 0) {
                                sum = sum + arr[i];
                        } else {
                                sum = sum - arr[i];
                        }
                }
               
                System.out.println(sum);
        }
}

Чтение массива из файла (BufferedReader - по одному числу в строке)

/*
 * Читает из файла input.txt
 * В первой строке число n - количество чисел.
 * В следующих n строках по одному числу в строке
 *
 * Пример:
 * 6
 * 12
 * 1
 * 41
 * 2
 * 54
 * 13
 */


import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;


public class Main2 {

        public static void main(String[] args) throws NumberFormatException, IOException {
                BufferedReader br = new BufferedReader(new FileReader("input.txt"));
               
                int n = Integer.parseInt(br.readLine());
               
                int arr[] = new int[n];        
               
                for (int i = 0; i < arr.length; i++) {
                        arr[i] = Integer.parseInt(br.readLine());
                }
               
                for (int i = 0; i < arr.length; i++) {
                        System.out.println(arr[i]);
                }              
        }

}

Чтение массива из файла (Scanner - можно числа в одной строке)


/*
 * Читает из файла input.txt
 * В первой строке число n - количество чисел.
 * Во второй - n чисел.
 *
 * Пример:
 * 6
 * 12 1 41 2 54 13
 */

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;


public class Main2 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		Scanner sc = new Scanner(new File("input.txt"));
		
		int n = sc.nextInt();
		int arr[] = new int[n];		
		
		for (int i = 0; i < arr.length; i++) {
			arr[i] = sc.nextInt();
		}
		
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}		
	}

}

А+Б. Ввод из файла. Вывод в файл

import java.io.*;
import java.util.*;

public class aplusb {
    public static void main(String[] args) throws IOException {
        Scanner in = new Scanner(new File("aplusb.in"));
        PrintWriter out = new PrintWriter(new File("aplusb.out"));
        int a = in.nextInt();
        int b = in.nextInt();
        out.println(a + b);
        in.close();
        out.close();
    }
}

Ввод двух чисел в строку

Scanner sc=new Scanner(System.in);
int num1=sc.nextInt();
int num2=sc.nextInt();

Ввод с клавиатуры

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		int a, b;
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		a = Integer.parseInt(br.readLine());
		b = Integer.parseInt(br.readLine());
		
		System.out.println(a+b);
	}

}

Функции

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	
	public static void main(String[] args) throws NumberFormatException, IOException {
		int a, b, c;
		double d;
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		a = Integer.parseInt(br.readLine());
		b = Integer.parseInt(br.readLine());

		c = sum(a, b);
		
		d = mySqrt(b);
		
		System.out.println(c);
		System.out.println(d);
	}
	
	public static double mySqrt(int a) {
		return Math.sqrt(a);
	}

	public static int sum(int a, int b) {
		System.out.println("I really want to sleep");
		return a+b;
	}
	
	public static int max2(int a, int b) {
		if (a > b) {
			return a;
		} else {
			return b;
		}
	}
}

Создание собственных классов

import java.util.Scanner;

public class Main {
       
        public static class Person {
                public String name;
                public int ege;
        }

        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
               
                Person arr[] = new Person[2];
               
                for (int i = 0; i < arr.length; i++) {
                        arr[i] = new Person();
                        arr[i].name = sc.next();
                        arr[i].ege = sc.nextInt();                     
                }              
               
                for (int i = 0; i < arr.length; i++) {
                        System.out.println(arr[i].ege + " " + arr[i].name);
                }
        }

}

ArrayList и чтение до конца файла

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;

public class Main {
        public static void main(String[] args) throws FileNotFoundException {
                Scanner sc = new Scanner(new File("input.txt"));
               
                ArrayList<Point> al = new ArrayList<Point>();
               
                while (sc.hasNext()) {
                        int a = sc.nextInt();
                        int b = sc.nextInt();
                       
                        Point p = new Point(a, b);
                        al.add(p);
                }
               
                for (int i = 0; i < al.size(); i++) {
                        al.get(i).print();
                }
        }
}
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты