2016a
(Различия между версиями)
Antonk (обсуждение | вклад) |
Antonk (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | == Java Swing. JFileChooser == | ||
+ | |||
+ | <source lang="java"> | ||
+ | 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); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </source> | ||
+ | |||
== Java Swing == | == Java Swing == | ||
Версия 09:28, 22 января 2014
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();
}
}
}