Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 15.01.2018
Сообщений: 1
1

Простейшее Судоку

16.01.2018, 18:14. Показов 624. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задумка такая: судоку состоит из текстовых полей. Есть открытые и закрытые. Так вот по кнопке нужно проверить, верно ли вписаны ответы в соответствующие поля и закрасить зеленым - верно, красным - неверно. Только есть одно НО, использовать можно только пакет awt. Никакого swing

Вот все, что я пока смогла сделать
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package project;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
 
public class Project extends Applet implements ActionListener {
 
Button bOk=new Button("Proverka");
//Button bOk2=new Button();
   int n=10; 
   int [] o = {3,2,6,1,8,6,3,2,4,8,4,9,2,3,9,5,3,1,5,9,8,4,5,3,1,9,2,4,5,1};
      int[][] m1 = {
            {8,3,7,1,9,5,2,6,4},
            {9,4,1,2,8,6,3,7,5},
            {2,6,5,4,7,3,1,9,8},
                        {5,8,4,9,2,1,7,3,6},
                        {6,7,9,5,3,8,4,2,1},
                        {3,1,2,6,4,7,5,8,9},
                        {7,2,6,8,1,4,9,5,3},
                        {1,9,8,3,5,2,6,4,7},
                        {4,5,3,7,6,9,8,1,2}
              
        };      
      int[][] m2 = {
            {8,0,7,1,9,5,0,0,4},
            {9,4,0,2,0,0,0,7,5},
            {0,6,5,0,7,3,1,9,0},
                        {5,8,0,0,0,1,7,0,6},
                        {6,7,0,0,0,8,4,2,1},
                        {3,0,2,6,4,7,0,8,0},
                        {7,2,6,0,1,0,9,0,0},
                        {0,0,8,3,5,0,6,4,7},
                        {0,0,3,7,6,9,8,0,2}
              
        };
      
   
   TextField b[][]=new TextField [n][n];
   
   public void init() {
   int w=getSize().width-50;
   int h=getSize().height-50;
   setLayout (new GridLayout(n,n));
   //setFont (new Font("Helvetica",Font.BOLD,24));
   for (int i=0; i<n-1;i++) {
       for(int j=0;j<n-1;j++){
          
               String lbl = String.valueOf(m2[i][j]);
               b[i][j]= new TextField (lbl);             
              b[i][j].setEditable(false);
              add(b[i][j],BorderLayout.CENTER);
              b[i][j].addActionListener(this);
                              }
     
       }
   b[0][1].setEditable(true); b[0][6].setEditable(true); b[0][7].setEditable(true);
   b[1][2].setEditable(true); b[1][4].setEditable(true); b[1][5].setEditable(true); b[1][6].setEditable(true);
   b[2][0].setEditable(true); b[2][3].setEditable(true); b[2][8].setEditable(true);
   b[3][2].setEditable(true); b[3][3].setEditable(true); b[3][4].setEditable(true); b[3][7].setEditable(true);
   b[4][2].setEditable(true); b[4][3].setEditable(true); b[4][4].setEditable(true);
   b[5][1].setEditable(true); b[5][6].setEditable(true); b[5][8].setEditable(true);
   b[6][3].setEditable(true); b[6][5].setEditable(true); b[6][7].setEditable(true); b[6][8].setEditable(true);
   b[7][0].setEditable(true); b[7][1].setEditable(true); b[7][5].setEditable(true);
   b[8][0].setEditable(true); b[8][1].setEditable(true); b[8][7].setEditable(true);
   
   add(bOk,BorderLayout.SOUTH) ;
   
   }
 /* public void check()
  { int k=0;
   for (int i=0; i<n-1;i++) {
       for(int j=0;j<n-1;j++){ 
          o[i][j]=Integer.valueOf(b[i][j].getText());
                             }
                            }
      for ( int i=0; i<n-1;i++) {
       for(int j=0;j<n-1;j++){
          if (o[i][j]==m1[i][j]) b[i][j].setForeground(Color.green); else b[i][j].setForeground(Color.red);} 
                                }*/
      /*for (int i=0; i<n-1;i++) {
       for(int j=0;j<n-1;j++){ 
      if (b[i][j].isEditable() == true) 
      if (Integer.valueOf(b[i][j].getText())== o[k]) b[i][j].setBackground(Color.green);else b[i][j].setBackground(Color.red);
       k++ ;
       }}
                             
         
  }; */ 
  
   @Override
   
   public void actionPerformed (ActionEvent a_e) {
       
      if (a_e.getSource()==bOk) {   //check();
      for (int i=0; i<n-1;i++) {
       for(int j=0;j<n-1;j++){ 
      if (b[i][j].isEditable() == true) 
      if (b[i][j].getText()== String.valueOf(m1[i][j])) b[i][j].setBackground(Color.green);else b[i][j].setBackground(Color.red);
      
       }} 
      
      };
       }
      
   }
Добавлено через 18 часов 55 минут
ошибка: кнопка не добавлена к прослушиванию
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2018, 18:14
Ответы с готовыми решениями:

Как запустить простейшее приложение WebServices
Читаю книгу вижу фигу. Провёл уже 3 часа за изучением Sun Webservice Tutorial...

Переделать обычное судоку в судоку чёт-нечёт
Здравствуйте. Помогите, пожалуйста, переделать обычное судоку 9х9 в судоку чёт-нечёт. Отличие...

Простейшее дерево
Создать двойичное дерево (уровней 7) и записать в каждый узел какое-нибудь рандомное число. Затем...

Простейшее чтиво
Подскажите где посмотреть. что почитать- что-то придельно простое, разбор программ буквально что и...

0
16.01.2018, 18:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2018, 18:14
Помогаю со студенческими работами здесь

простейшее приложение
&lt;?php $fp=fsockopen(&quot;www.google.com&quot;, 80, $errno, $errstr, 30); if( $fp) { echo &quot;$errstr...

Простейшее, но нужно
Дано произвольное число X. Вычислить и вывести на экран Y=ln X, если Х имеет положительное...

Простейшее редактирвоание
Как задать для текста выравнивание, шрифт, цвет и тд?! textBox1-&gt;Text = &quot;Текст&quot;; И еще один...

Простейшее наследование
Здравствуйте. Есть два класса. По заданию второй кдласс должен иметь собственный конструктор и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru