ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

15.06.2010, 22:37
|
|
Постоянный
Регистрация: 22.11.2008
Сообщений: 395
Провел на форуме: 3987105
Репутация:
776
|
|
C#
Как можно получить средствами C#, автора файла формата pdf, djvu (правой кнопкой --> свойство --> сводка --> в подпункте "источник"--> автор)
Заранее благодарю.
|
|
|

04.02.2009, 23:49
|
|
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме: 233095
Репутация:
21
|
|
Сообщение от 5cr1pt
модификатор доступа public разве не катит?
Значения сбрасываются все на 0 после каждого вызова метода, вернее после окончания его работы
|
|
|

30.10.2009, 02:01
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме: 3578578
Репутация:
275
|
|
Сообщение от new-sl
парсер на калкулатор и если я например пишу строку 1+2+3+4 то чтобы она не всю строку считывала а толко 1 символ
неправильный подход. считывай всю строку, а потом парси. для разбора математических выражений есть специальный алгоритм.
|
|
|

30.10.2009, 13:46
|
|
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме: 105684
Репутация:
-1
|
|
Сообщение от Forcer
неправильный подход. считывай всю строку, а потом парси. для разбора математических выражений есть специальный алгоритм.
етот калкулатор описан в книге от bjarne stroustrup она по с++ я просто перевел ето в жаву и столкнулся с множеством проблем
Код:
import java.util.*;
public class calculator {
static final int NAME=0, NUMBER=1, END=2,
PLUS='+', MINUS='-', MUL='*', DIV='/',
PRINT=';', ASSIGN='=', LP='(', RP=')', POW='^';
static int curr_tok=PRINT;
static double number_value;
static String string_value;
static int no_of_errors=0;
static Scanner cin=new Scanner(System.in);
static double expr(boolean get)
{
System.out.println("expr");
double left=term(get);
for(;;)
switch (curr_tok)
{
case PLUS:
left+=term(true);
break;
case MINUS:
left-=term(true);
break;
default: return left;
}
}
static double term (boolean get)
{
System.out.println("term");
double left=prim(get);
for(;;)
switch (curr_tok){
case MUL:
left *=prim(true);
break;
case DIV:
double d=prim(true);
left/=d;
break;
default :
return left;
}
}
static double prim (boolean get)
{
System.out.println("prim");
if(get)
get_token();
switch (curr_tok){
case NUMBER :
{
double v=number_value;
System.out.println("number value"+number_value);
get_token();
return v;
}
case MINUS:
return -prim(true);
case LP:
{
double e=expr(true);
if(curr_tok!=RP)
return error(" ) erwartet");
get_token();
return e;
}
default:
return error("primary erwartet");
}
}
static int get_token()
{
System.out.println("get_token");
String token_string;
char token_char;
token_string=cin.next();
token_char=token_string.charAt(0);
System.out.println("String:"+token_string);
switch(token_char){
case 0:
return curr_tok=END;
case ';' :
case '*' :
case '/' :
case '+' :
case '-' :
case '(' :
case ')' :
case '=' :
System.out.println("Token");
int ch=(int)token_char;
return curr_tok=ch;
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
case '.':
number_value=Double.parseDouble(token_string);
System.out.println("Number");
return curr_tok=NUMBER;
default: string_value=token_string;
return curr_tok=NAME;
}
}
static double error( String ERROR_STRING)
{
System.out.println("error");
no_of_errors++;
return 1;
}
public static void main (String []argv)
{
while(true)
{
System.out.println("main");
get_token();
if(curr_tok==END)
break;
System.out.println("RESULT"+expr(false));
}
}
}
вот в принципи сама прога я её патом убиру чтобы если припод будет искать тут как видеш постояно надо сапрашивать 1 символ ибо ты за 1 вызоф обрабативаеш 1 символ иначи некак а тут при простом счтение надо постоян нажимать пробел и писать следушьи символ мине ето неподходит надо чтоби в 1 строку считивая всю строку и патом парсить думаю непоидет
если можеш приведи пример
Последний раз редактировалось new-sl; 30.10.2009 в 13:50..
|
|
|

28.01.2010, 10:33
|
|
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
Провел на форуме: 5386281
Репутация:
1177
|
|
Разобрался!
Последний раз редактировалось Tigger; 28.01.2010 в 11:20..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|