nedoPC.org

Community for electronics hobbyists, established in 2002
Last visit was: 10 Nov 2024 12:25
It is currently 10 Nov 2024 12:25



 [ 45 posts ]  Go to page 1, 2, 3  Next
Троичный конвертер онлайн 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23399
Location: Silicon Valley
Конвертер между четырмя системами счисления на джаве:
Code:
<applet code=TriCon width=640 height=160>
</applet>

 TriCon.java
Code:
// TriCon.java - Alexander Shabarshin  08-Feb-2006
// See http://ternary.info

import java.applet.*;
import java.awt.*;

public class TriCon extends Applet
{
 TextField text2;
 TextField text3;
 TextField text10;
 TextField text16;
 int number;

 public void init()
 {
  setLayout(new GridLayout(4,2));
  add(new Label("Ternary (N,O,P):"));
  text3 = new TextField(24);
  add(text3);
  add(new Label("Decimal (0-9):"));
  text10 = new TextField(16);
  add(text10);
  add(new Label("Hexadecimal (0-9,A-F):"));
  text16 = new TextField(8);
  add(text16);
  add(new Label("Binary (0,1):"));
  text2 = new TextField(32);
  add(text2);
 }

 public boolean action(Event event, Object object)
 {
  if(text2.equals((TextField)event.target))
  {
    number = Integer.parseInt(text2.getText(),2);
    text3.setText(toTernary(number));
    text10.setText(Integer.toString(number));
    text16.setText(Integer.toHexString(number).toUpperCase());
  }
  if(text3.equals((TextField)event.target))
  {
    number = fromTernary(text3.getText());
    text2.setText(Integer.toBinaryString(number));
    text10.setText(Integer.toString(number));
    text16.setText(Integer.toHexString(number).toUpperCase());
  }
  if(text10.equals((TextField)event.target))
  {
    number = Integer.parseInt(text10.getText(),10);
    text2.setText(Integer.toBinaryString(number));
    text3.setText(toTernary(number));
    text16.setText(Integer.toHexString(number).toUpperCase());
  }
  if(text16.equals((TextField)event.target))
  {
    number = Integer.parseInt(text16.getText(),16);
    text2.setText(Integer.toBinaryString(number));
    text3.setText(toTernary(number));
    text10.setText(Integer.toString(number));
  }
  return true;
 }

 public static String toTernary(int num)
 {
    int n,m,k;
    String s = null;
    k = 387420489;
    for(int i=0;i<=18;i++)
    {
      n = num/k;
      num -= n*k;
      m = k/2;
      if(num>+m){n++;num-=k;}
      if(num<-m){n--;num+=k;}
      if(n!=0 && s==null) s="";
      if(n==-1) s+="N";
      if(n==0 && s!=null) s+="O";
      if(n==1) s+="P";
      k /= 3;
    }
    return s;
 }
 
 public static int fromTernary(String s)
 {
    int n = 0;
    int k = 1;
    for(int i=s.length()-1;i>=0;i--)
    {
      char c = s.charAt(i);
      if(c!='N'&&c!='O'&&c!='P') return 0;
      if(c=='N') n-=k;
      if(c=='P') n+=k;
      k *= 3;
    }
    return n;
 }

}

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


Last edited by Shaos on 21 Sep 2012 10:41, edited 1 time in total.



08 Feb 2006 22:04 WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23399
Location: Silicon Valley
Post 
Адрес апплета на ternary.info:

http://ternary.info/ternary/java.php?applet=2

P.S. Репа с этими и другими исходниками:

https://gitlab.com/ternary/ternary/-/tree/master/obsolete

Результат запуска без браузера: appletviewer TriCon.html


You do not have the required permissions to view the files attached to this post.

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


08 Feb 2006 22:08 WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post 
Хорошая штука!!! Я и сам хотел себе написать - а тут вдруг и есть!!!

Только вот куда нажимать, чтобы вычислять начала? :o
Вводил в разные поля... и Enter нажимал, и мышю - тыкал...
Не вычисляет - нифига... Мож сломалось че? :-?

Странно... а на http://ternary.info/ternary/java.php?applet=2
по Enter работает... :roll:

_________________
iLavr


22 Sep 2012 16:59
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23399
Location: Silicon Valley
Post 
Дык просто вводишь в нужное поле и жмёшь Enter - оно выводится в разных форматах в другие поля...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


22 Sep 2012 17:02 WWW
Devil

Joined: 26 May 2003 06:57
Posts: 892
Post 
Для полного кайфа нехватает девятиричной :)

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


23 Sep 2012 03:14 WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23399
Location: Silicon Valley
Post 
b2m wrote:
Для полного кайфа нехватает девятиричной :)


Ну тогда уж и восьмиричную надо добавить ;)

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


23 Sep 2012 08:35 WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post 
Shaos wrote:
Ну тогда уж и восьмиричную надо добавить ;)

Блин... а она была популярна в старых отечественных машинах!...
У меня есть старая документация - там всё пестрит этими 65123о...
Очень тяжело читать с непривычки... :-?



PS. Хмм... "Троичный конвертер на Java"... Ну что бы мы делали
без этой дохлятины Джаббы...
:( (лопата)

_________________
iLavr


23 Sep 2012 09:27
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post 
Shaos wrote:
Ну тогда уж и восьмиричную надо добавить ;)

Надо же! Вроде пошутили... а восьмиричную - надо добавить! :o
Этот оригинальный EDUC-8 весь усыпан октальной системой... :(

Я сначала не мог понять - чего этого JAMIESON-а ROWE распёрло на октальную... :-?

Наконец понял - дислей он сподобился сделать октальный! (а точнее - десятичный)
вот у него и hex-числа на дисплей не лезут... :(

Image

Shaos, а нельзя заодно добавить и кнопочку "Вычислить" ?
А то "Enter" в поле ввода не всегда уверенно срабатывает... :-?

_________________
iLavr


08 Oct 2012 20:58
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23399
Location: Silicon Valley
Post 
Всё можно. Только я это уже не на джаве писать буду, а на JS...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


08 Oct 2012 21:41 WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Shaos, я тут в целях совместить полезное с приятным решил добавить
твоему калькулятору GUI и всякие кнопочки, которые мне бы хотелось.

И всё получилось довольно неплохо:
Attachment:
converter2.gif

И даже случился такой бонус, что Java сама приделывает к GUI-окну Status Bar
и пишет в нём по старту: Java Applet Window

Вот только я нигде не нашел, как мне самому что-то вывести полезное в этот Status Bar,
раз уж он есть...
Ты не знаешь, как это делают?


You do not have the required permissions to view the files attached to this post.

_________________
iLavr


01 Dec 2017 17:21
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23399
Location: Silicon Valley
Метод showStatus("...") вроде как есть у апплета

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


01 Dec 2017 17:25 WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Shaos wrote:
Метод showStatus("...") вроде как есть у апплета

Есть такой метод, это находится быстро... но выводит он в строку статуса броузера.
Я уже попробовал.

А это Status Bar GUI-окна.


P.S. Наверное, в этот Status Bar GUI-окна класса Frame ничего не выводят никак.
Не нашел я таких методов... :-?
Если скомпилировать в автономное GUI-приожение, то, видимо, этого Status Bar
просто не будет.

_________________
iLavr


01 Dec 2017 17:37
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23399
Location: Silicon Valley
да - для окна незнаю как
не нравились мне джавовские окна никогда...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


01 Dec 2017 18:41 WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Shaos wrote:
не нравились мне джавовские окна никогда...

А я ещё когда писал «Специалист» на Java, хотел открывать его, как GUI-окно.
Но что-то в тот раз не случилось... А тут решил это попробовать! :wink:

Кстати, если юзать JFrame из JFC/Swing, то окна и вовсе приятные,
причем выглядят своеобразно:
Attachment:
javaNote.gif


Но чего это я раскудахтался? :lol: Джаба скоро помрёт! Всем повторять: помрёт Джабба! :mrgreen:


You do not have the required permissions to view the files attached to this post.

_________________
iLavr


01 Dec 2017 18:48
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Lavr wrote:
Если скомпилировать в автономное GUI-приожение, то, видимо, этого Status Bar просто не будет.
Да, так и вышло:
Attachment:
noStatus.gif

Видимо, этот Status Bar с надписью Java Applet Window Джаба приделывает
своему GUI-окну, если оно развертывается из страницы браузера.
Наверное, чтобы юзер не пугался - откуда это окно такое всплыло... :wink:


You do not have the required permissions to view the files attached to this post.

_________________
iLavr


02 Dec 2017 04:04
 [ 45 posts ]  Go to page 1, 2, 3  Next

Who is online

Users browsing this forum: Claude AI [Bot] and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.