-
+113
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Pause extends JFrame{
private int MAX;
private static String s;
Pause(){
this.setSize(300, 300);
this.setVisible(true);
}
public void text(String s, final Thread t){
try {
t.wait();
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
JLabel l = new JLabel(s);
l.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
t.notify();
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
});
this.add(l);
}
public int getMAX() {
return MAX;
}
public void setMAX(int mAX) {
MAX = mAX;
}
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
public void appendS(String s) {
this.s += s;
}
public static void main(final String[] args){
final Pause p = new Pause();
final Thread t = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < p.getMAX(); ++i){
p.appendS(i + " ");
if (i+2 <= p.getMAX()){
p.text(s, t); //error
}
}
}
});
t.start();
}
}
Прислала подруга, изучающая потоки в Java, с просьбой подсказать, почему выдаётся ошибка компиляции при использовании переменной t внутри run.
Придётся объяснять, что в этом коде неправильно вообще всё, от первой до последней строки...
someone,
03 Мая 2013
-
+102
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
if (
!(this.Department.Length == 4 &&
"0123456789".Contains(this.Department[0]) &&
"0123456789".Contains(this.Department[1]) &&
"0123456789".Contains(this.Department[2]) &&
"0123456789".Contains(this.Department[3])) &&
!(this.Department.Length == 4 &&
"0123456789".Contains(this.Department[0]) &&
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(this.Department[1]) &&
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(this.Department[2]) &&
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(this.Department[3])) &&
!(this.Department.Length == 5 &&
"0123456789".Contains(this.Department[0]) &&
"0123456789".Contains(this.Department[4]) &&
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(this.Department[1]) &&
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(this.Department[2]) &&
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(this.Department[3])))
{
return "error";
}
Он видимо не знал о существовании регулярных выражений
NeoN,
02 Мая 2013
-
−93
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
private function showTick():void {
d=getTimer() - startT;
if (d<ACT_TIME) {
if(d<=200){
//scale up
sprite.scaleX = 0.3+(d/200)*0.7;
sprite.scaleY = 0.3+(d/200)*0.7;
}else if(d>200 && d<500){
sprite.scaleX = 1;
sprite.scaleY = 1;
}
if(d<=300){
sprite.alpha = d/300;
//alpha up
}else if(d>300 && d<500){
sprite.alpha = 1;
}
if(d>=500 && d<=800){
//scale down
sprite.scaleX = 1-((d-500)/300);
sprite.scaleY = 1-((d-500)/300);
sprite.alpha = 1-((d-500)/300);
}else if(d>800){
sprite.scaleX = 0;
sprite.scaleY = 0;
sprite.alpha = 0;
}
}else {
EnterFrame.removeAction(this._action);
this._action = null;
}
}
Хотела поменять скорость анимации текста... Уже не хочу.
kyzi007,
01 Мая 2013
-
+101
- 1
- 2
- 3
- 4
if(searchParams == null)
{
throw new NullReferenceException("параметры поиска = null" + searchParams.ToString());
}
Эдакий InnerException, чтоб верняково
NeoN,
01 Мая 2013
-
+10
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
static int
_S_compare(size_type __n1, size_type __n2)
{
const difference_type __d = difference_type(__n1 - __n2);
if (__d > __gnu_cxx::__numeric_traits<int>::__max)
return __gnu_cxx::__numeric_traits<int>::__max;
else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
return __gnu_cxx::__numeric_traits<int>::__min;
else
return int(__d);
}
LispGovno,
01 Мая 2013
-
+141
- 1
error: 'merge' is not possible because you have unmerged files.
Угадайте кто!
wvxvw,
30 Апреля 2013
-
+149
- 1
- 2
jQuery('.navbar .nav li').eq(1).addClass('dropdown').children('a').addClass('dropdown-toggle');
jQuery('.navbar .nav li').eq(2).append("<ul class='dropdown-menu unstyled'><li><a href='/production/xx/'>оборудование</a></li>
Добавить новый пункт меню - не вопрос...
oxser,
30 Апреля 2013
-
−164
- 1
SELECT LAST_INSERT_ID() FROM comments;
Подозреваю, что баян, но найти в чистом виде здесь не смог. Номинант на звание самого короткого анекдота на SQL.
inkanus-gray,
29 Апреля 2013
-
+137
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
void lcd_goto(unsigned char line, unsigned char pos)
{
...
lcd_str_remains = LCD_STR_LEN - pos;
}
void lcd_putch(char c)
{
lcd_str_remains--;
...
}
void lcd_fill_str(void)
{
char i;
for(i=0; i<lcd_str_remains; i++)
lcd_putch(' ');
}
Паскаль головного мозга. Эх, сколько я этот баг искал.
kipar,
29 Апреля 2013
-
+138
- 1
http://blog.lab49.com/archives/3011
Наткнулся на совершенно гениальную статью про алгебраические типы данных. Из которой вы узнаете, что алгебраические типы данных потому и называются алгебраическими, что их можно складывать, перемножать, возводить в степень и даже брать производную, причём эта магия доступна всем простым смертным, и самое интересное — в этом есть практический смысл.
Требуемые знания матана — примерно на уровне десятого класса средней школы.
Enjoy.
neeedle,
29 Апреля 2013