Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
maxi

Не могу разобраться со списками

14.09.2009, 11:27. Показов 1563. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно перебрать операторо if значения списка Choice.
Нужен вот такой синтаксис:
Java
1
2
3
4
5
6
7
8
if (позиция списка ='Kbyte')
{
//...
}
if (позиция списка ='Mbyte')
{
//...
}
где Kbyte и Mbyte -это элементы списка Choice.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.09.2009, 11:27
Ответы с готовыми решениями:

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива и сумму элементов массива,...

Погогите разобраться со связанными списками
Здравствуйте. У меня было задание: Задан массив из n элементов. Расставить: наимешьший элемент в начало массива, следующий по величине - в...

Не могу разобраться разобраться с кодом меню
Добрый день. Я понимаю, что тут все, наверное, элементарно. Но я только начала изучение js и пока для меня все страшно и сложно. Проблема...

14
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
14.09.2009, 22:39
А зачем перебирать, у Choice есть метод getSelectedItem().
0
maxi
15.09.2009, 19:46
Покажите пожалусто правильный синтаксис.
Вот то что я написал, но так не работает.
if (cbit.getSelectedItem('Kbyte'))
{
...................
........................
}
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
15.09.2009, 20:08
String selected = cbit.getSelectedItem();
if(selected.equalsIgnoreCase('Kbyte'))
{
...
}
else
if(selected.equalsIgnoreCase('Mbyte'))
{
...
}

Чтобы сравнивать стринги надо использовать методы equals() or equalsIgnoreCase() , а не =
0
maxi
15.09.2009, 21:10
Спосибо за помощь, если не прудно помогите еще
как правильно написать этот код
Code
1
2
3
4
5
6
7
8
9
10
11
String s=cbit.getSelectedItem();
if (s.equalsIgnoreCase('Kbite'))
{
String sum='';
String a=tsize.getText();
String b=tspid.getText();
sum=(a/b);***????????????????????????????***
Graphics g=getGraphics();
g.drawString('Time copire equals '+sum,110,20);
 
}
Я понимаю что поделить строку на строку нелзя 'sum=(a/b);', но как тут быть если в tsize.getText();и tspid.getText(); у меня цифры
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
15.09.2009, 21:45
Так вам надо сначала текст перевести в числа, числа поделить и результат нарисовать.

String a=tsize.getText();
String b=tspid.getText();

Если числа целые, то можно так
int int_a = Integer.getInteger(a).intValue();
int int_b = Integer.getInteger(b).intValue();

int sum = int_a/int_b; /*результат будет округлен до целого*/
...
g.drawString('....'+sum+'...',...);

Если не целые, то соответственно использовать классы Long, Float или Double.
0
maxi
15.09.2009, 22:06
Написал вот такую маленькую прогу но она у меня не работает так как надо а выдает исключения которые я перечислел ниже. Help me
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
import java.awt.*;
import java.awt.event.*;
import java.util.*;
 
public class fr extends Frame implements ActionListener
{
Button b,bexit;
TextField tsize, tspid;
public Choice cbit;
Label lsize,lspid,lbit;
 
  public fr()
  {
 
  super('Time for copire');
  setSize(300,200);
  setVisible(true);
  setResizable(false);
  setLayout(null);
  b=new Button('The bill');
  bexit=new Button('Exit');
  b.setBounds(220,40,60,20);
  bexit.setBounds(220,70,60,20);
  add(b);
  b.addActionListener(this);
  add(bexit);
  lsize=new Label('Enter your size');
  lsize.setBounds(10,30,100,20);
  add(lsize);
  tsize=new TextField();
  tsize.setBounds(10,50,100,20);
  add(tsize);
  lspid=new Label('Enter your spid');
  lspid.setBounds(10,70,100,20);
  add(lspid);
  tspid=new TextField();
  tspid.setBounds(10,90,100,20);
  add(tspid);
  lbit=new Label('To choice dimension');
  lbit.setBounds(115,30,100,20);
  add(lbit);
  cbit=new Choice();
  cbit.setBounds(125,50,80,20);
  add(cbit);
  cbit.add('Kbyte');
  cbit.add('Mbyte');
 
  }
  public static void main(String[] args)
  {
    fr fr1 = new fr();
  }
  public void actionPerformed(ActionEvent e)
      {
      if (e.getSource()==b)
        {
String s=cbit.getSelectedItem();
if (s.equalsIgnoreCase('Kbyte'))
{
String a=tsize.getText();
String b=tspid.getText();
int int_a = Integer.getInteger(a).intValue();
int int_b = Integer.getInteger(b).intValue();
int sum = int_a/int_b;
Graphics g=getGraphics();
g.drawString('Time copire equals '+sum,110,20);
}
if (s.equalsIgnoreCase('Mbyte'))
{
String a=tsize.getText();
String b=tspid.getText();
int int_a = Integer.getInteger(a).intValue();
int int_b = Integer.getInteger(b).intValue();
int sum = int_a/int_b*1000/60;
Graphics g=getGraphics();
g.drawString('Time copire equals '+sum,110,20);
}
        }
    }
}
Эти исключения выбрасываются после нажатия на кнопку The bill.
Кликните здесь для просмотра всего текста
Exception occurred during event dispatching:
java.lang.NullPointerException
at wcopireawt.fr.actionPerformed(fr.java:74 )
at java.awt.Button.processActionEvent(Butto n.java:329)
at java.awt.Button.processEvent(Button.java :302)
at java.awt.Component.dispatchEventImpl(Com ponent.java:2595)
at java.awt.Component.dispatchEvent(Compone nt.java:2499)
at java.awt.EventQueue.dispatchEvent(EventQ ueue.java:336)
at java.awt.EventDispatchThread.pumpOneEven tForHierarchy(EventDispatchThread.java:1 34)
at java.awt.EventDispatchThread.pumpEventsF orHierarchy(EventDispatchThread.java:101 )
at java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:96)
at java.awt.EventDispatchThread.run(EventDi spatchThread.java:88)
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
15.09.2009, 23:19
Это я неправильно подсказал. Надо вместо Integer.getInteger(...).intValue() поставить Integer.valueOf(...).intValue() )
0
maxi
16.09.2009, 00:38
Я вот написал Double вместо int почему ловятся исключения когда я ввожу в поля ввода не целые , адесятичные цыфры, как с ытим бороться???
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
16.09.2009, 17:33
String a = ...;
double d = Double.valueOf(a).doubleValue();
0
maxi
16.09.2009, 21:25
А как можно определить, что в поле ввода вводится текст и запретить его ввод или ходябы вывести сообщения о том, что вводятся неправельные параметры???
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
16.09.2009, 21:58
А вот тут и выскочит исключение при переводе введенного текста в число. Это место окружить блоком try-catch и в catch организовать сообщение пользователю о ошибочном вводе, через Диалог, например.
0
maxi
16.09.2009, 22:50
А почему если я вставляю repaint(0) то у меня при нажатии на кнопку мое сообщение не выводится???
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
import java.awt.*;
import java.awt.event.*;
import java.util.*;
 
public class fr extends Frame implements ActionListener
{
Button b,bexit;
TextField tsize, tspid;
public Choice cbit;
Label lsize,lspid,lbit;
 
  public fr()
  {
 
  super('Time for copire');
  setSize(300,200);
  setVisible(true);
  setResizable(false);
  setLayout(null);
  b=new Button('The bill');
  bexit=new Button('Exit');
  b.setBounds(220,40,60,20);
  bexit.setBounds(220,70,60,20);
  add(b);
  b.addActionListener(this);
  add(bexit);
  bexit.addActionListener(this);
  lsize=new Label('Enter your size');
  lsize.setBounds(10,30,100,20);
  add(lsize);
  tsize=new TextField();
  tsize.setBounds(10,50,100,20);
  add(tsize);
  lspid=new Label('Enter your spid');
  lspid.setBounds(10,70,100,20);
  add(lspid);
  tspid=new TextField();
  tspid.setBounds(10,90,100,20);
  add(tspid);
  lbit=new Label('To choice dimension');
  lbit.setBounds(115,30,100,20);
  add(lbit);
  cbit=new Choice();
  cbit.setBounds(125,50,80,20);
  add(cbit);
  cbit.add('Kbyte');
  cbit.add('Mbyte');
 
  }
  public static void main(String[] args)
  {
    fr fr1 = new fr();
  }
  public void actionPerformed(ActionEvent e)
      {
 
      if (e.getSource()==b)
        {
        repaint(0);//**************?????????????***********
try
    {
String s=cbit.getSelectedItem();
if (s.equalsIgnoreCase('Kbyte'))
{
 
String a=tsize.getText();
String b=tspid.getText();
double d = Double.valueOf(a).doubleValue();
double f = Double.valueOf(b).doubleValue();
double sum = d/f/60;
Graphics g=getGraphics();
g.drawString('Time copire equals '+sum+'minets',20,170);
 
}
if (s.equalsIgnoreCase('Mbyte'))
{
String a=tsize.getText();
String b=tspid.getText();
double d = Double.valueOf(a).doubleValue();
double f = Double.valueOf(b).doubleValue();
double sum = d/f*1000/60;
Graphics g=getGraphics();
g.drawString('Time copire equals '+sum,20,160);
}
}catch (Exception ie){
Graphics g=getGraphics();
g.drawString('Not correct parameters',20,160);
}
        }
        if (e.getSource()==bexit)
        {
        System.exit(0);
        }
    }
}
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
17.09.2009, 01:03
Нельзя так обьекты сравнивать: if (e.getSource()==b)
Надо: if (e.getSource().equals(b))
0
maxi
17.09.2009, 01:19
Я заменил а выводимое сообщение все равно не появляется а просто мигает.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.09.2009, 01:19
Помогаю со студенческими работами здесь

Не могу доработать, работа со списками
доброго вечерочка! написал программу: задача:Преобразовать конструкцию языка Си++ вида switch (x){ case 1: y=45;break; case...

Приветствую, не могу разобраться с кодом программы и не могу сделать .obj файл
.model tiny; нужно будет получить исполняемый файл формата СОМ .code org 100h start: mov ax, 3 int 10h ; устанавливаем...

Не могу написать комментарии для функции поиска, не могу разобраться...
void __fastcall TForm1::FindDialog1Find(TObject *Sender) { int found, start, end; // Èíèöèàëèçàöèÿ ïåðåìåííûõ start =...

Не могу найти ошибку!! не могу не как разобраться! надо до завтра.
условие: Для 7 человек, среди которых есть мужчины и женщины, хранятся следующие данные: имя, пол (true - мужской, false - женский),...

Программа для работы со списками с++. Не могу найти ошибку
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "stdafx.h" struct address { char name; char street; ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru