Java Technologie

Програмчлалын хэлнүүд, хөгжүүлэлт, нээлттэй эх, тэдгээртэй холбоотой бусад мэдээллээ энд солилцоцгооё :)

Зохицуулагч: Bathuyag

Хөрөг
Bathuyag
☆ Programmer ☆
☆ Programmer ☆
Бичлэг: 97
Элссэн: 2009-09-27, 22:37
Танилцуулга: Юу ч бичээгүй байна.
Байрлал: Амьдарвал амьдар ●•٠·˙˙
Contact:

Java Technologie

Бичлэг Бичсэн Bathuyag »

Java хэлний тухай сэдэв заавал байсан нь дээр байхаа.
Би хувтдаа жава дээр бичдэг оюутан хүн шүү дээ.
Заа тэгээд Жава дээр асуудал гарвал ярилцацгаая.
Убунту Programming бол маш сайн дэмждэг Platform шүү.
if(computer == null){
life = null
else life = nice}
Хөрөг
Khaschuluu
™Дусал®
™Дусал®
Бичлэг: 311
Элссэн: 2009-01-28, 16:51
Байрлал: Улаанбаатар
Contact:

Re: ..:: Programmin Language Java ::..

Бичлэг Бичсэн Khaschuluu »

Хуягаа юу ашиглаж эдитэрлэж байна?

NetBeans Eclipse хоёр л хүчтэй өрсөлдөгч нар юм шиг

Гэхдээ би бол зөвхөн эдитэрлэх дээр бол vim ийг санал болгомоор байна. Хамгийн хүчтэй багаж.

http://cosmosbirds.blogspot.com/ дээр нэг java гийн хичээл эхлүүлээд орхисон байгаа. Түүнийг үргэлжүүлнээ :)
Хөрөг
Bathuyag
☆ Programmer ☆
☆ Programmer ☆
Бичлэг: 97
Элссэн: 2009-09-27, 22:37
Танилцуулга: Юу ч бичээгүй байна.
Байрлал: Амьдарвал амьдар ●•٠·˙˙
Contact:

Re: ..:: Programmin Language Java ::..

Бичлэг Бичсэн Bathuyag »

Би үнэгүй хамгийн хүчирхэг тэгээд ашиглахад хялбараар нь Notepad ашигладаг хэхэ.
Тоглосын eclipse netbeans 2 ууланг нь ажиглаж байна даа.
if(computer == null){
life = null
else life = nice}
Хөрөг
Bathuyag
☆ Programmer ☆
☆ Programmer ☆
Бичлэг: 97
Элссэн: 2009-09-27, 22:37
Танилцуулга: Юу ч бичээгүй байна.
Байрлал: Амьдарвал амьдар ●•٠·˙˙
Contact:

Re: ..:: Programmin Language Java ::..

Бичлэг Бичсэн Bathuyag »

Хүмүүсээ Java хэлний талаар мэддэг чаддаг бүхнээ ярилцая би
одоо гар утасны прогамчлал хийж сайгаа
Bluetooth ээр олон хэрэглэгч зэрэг холбогдох арга байдаг юм байна
хийж байсан хүн байна уу Source харалций :nice:
if(computer == null){
life = null
else life = nice}
Хөрөг
XXman
★☆★☆★☆★☆
★☆★☆★☆★☆
Бичлэг: 219
Элссэн: 2009-03-05, 22:40
Байрлал: Өө тэгээл хорвоо дэлхийн хаа нэгтээ л
Contact:

Re: ..:: Programming Language Java ::..

Бичлэг Бичсэн XXman »

Netbeans- ийг одоо гүйцэх editor байвал надад шууд тэр гээд хэлчээрээ хэхэ :))) Netbeans бол гайхамшиг шүү дээ. Huyaga чи бид 2 нэг хичээл үзэж байгаан байна. :clap:
Газар дэлхийн төлөө тэнгис далай оршдог.
Хөрөг
Bathuyag
☆ Programmer ☆
☆ Programmer ☆
Бичлэг: 97
Элссэн: 2009-09-27, 22:37
Танилцуулга: Юу ч бичээгүй байна.
Байрлал: Амьдарвал амьдар ●•٠·˙˙
Contact:

Re: ..:: Programming Language Java ::..

Бичлэг Бичсэн Bathuyag »

Хувын чанартай юм ярихыг хүсснгүй уг нь яримаар л.
Netbeans бол үнэгүй editor дотроо давгүй сайн нь шүү.
Хөнгөн хурданыг нь бодвол арай өөр editor гарч ирнээ угааса. Нэтбенс жоохн удаан шү дэ. :nice:
if(computer == null){
life = null
else life = nice}
Хөрөг
Bathuyag
☆ Programmer ☆
☆ Programmer ☆
Бичлэг: 97
Элссэн: 2009-09-27, 22:37
Танилцуулга: Юу ч бичээгүй байна.
Байрлал: Амьдарвал амьдар ●•٠·˙˙
Contact:

Re: Java Technologie

Бичлэг Бичсэн Bathuyag »

За нэг тооны машин бичсэн ухаантай шүү сонирхоорой.

Код: Бүгдийг сонгох

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;

public class Calculator extends JFrame implements ActionListener{
	// Variables
	final int MAX_INPUT_LENGTH = 20;
	final int INPUT_MODE = 0;
	final int RESULT_MODE = 1;
	final int ERROR_MODE = 2;
	int displayMode;

	boolean clearOnNextDigit, percent;
	double lastNumber;
	String lastOperator;

	private JMenu jmenuFile, jmenuHelp;
	private JMenuItem jmenuitemExit, jmenuitemAbout;
	
	private JLabel jlbOutput;
	private JButton jbnButtons[];
	private JPanel jplMaster, jplBackSpace, jplControl;
	
	/*
	 * Font(String name, int style, int size)
      Creates a new Font from the specified name, style and point size.
	 */
	
	Font f12 = new Font("Times New Roman", 0, 12);
	Font f121 = new Font("Times New Roman", 1, 12);
	
	// Constructor 
	public Calculator() 
	{
		/* Set Up the JMenuBar.
		 * Have Provided All JMenu's with Mnemonics
		 * Have Provided some JMenuItem components with Keyboard Accelerators
		 */ 
		
		jmenuFile = new JMenu("File");
		jmenuFile.setFont(f121);
		jmenuFile.setMnemonic(KeyEvent.VK_F);
		
		jmenuitemExit = new JMenuItem("Exit");
		jmenuitemExit.setFont(f12);
		jmenuitemExit.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_X, 
													ActionEvent.CTRL_MASK));
		jmenuFile.add(jmenuitemExit);

		jmenuHelp = new JMenu("Tuhai");
		jmenuHelp.setFont(f121);
		jmenuHelp.setMnemonic(KeyEvent.VK_H);

		jmenuitemAbout = new JMenuItem("Calculator in tuhai");
		jmenuitemAbout.setFont(f12);
		jmenuHelp.add(jmenuitemAbout);
		
		JMenuBar mb = new JMenuBar();
		mb.add(jmenuFile);
		mb.add(jmenuHelp);
		setJMenuBar(mb);
		
		//Set frame layout manager

		setBackground(Color.gray);

		jplMaster = new JPanel();

		jlbOutput = new JLabel("0");
		jlbOutput.setHorizontalTextPosition(JLabel.RIGHT);
		jlbOutput.setBackground(Color.WHITE);
		jlbOutput.setOpaque(true);
		
		// Add components to frame
		getContentPane().add(jlbOutput, BorderLayout.NORTH);

		jbnButtons = new JButton[23];
//		GridLayout(int rows, int cols, int hgap, int vgap) 

		JPanel jplButtons = new JPanel();			// container for Jbuttons

		// Create numeric Jbuttons
		for (int i=0; i<=9; i++)
		{
			// set each Jbutton label to the value of index
			jbnButtons[i] = new JButton(String.valueOf(i));
		}

		// Create operator Jbuttons
		jbnButtons[10] = new JButton("+/-");
		jbnButtons[11] = new JButton(".");
		jbnButtons[12] = new JButton("=");
		jbnButtons[13] = new JButton("/");
		jbnButtons[14] = new JButton("*");
		jbnButtons[15] = new JButton("-");
		jbnButtons[16] = new JButton("+");
		jbnButtons[17] = new JButton("sqrt");
		jbnButtons[18] = new JButton("1/x");
		jbnButtons[19] = new JButton("%");
		
		jplBackSpace = new JPanel();
		jplBackSpace.setLayout(new GridLayout(1, 1, 2, 2));

		jbnButtons[20] = new JButton("Backspace");
		jplBackSpace.add(jbnButtons[20]);

		jplControl = new JPanel();
		jplControl.setLayout(new GridLayout(1, 2, 2 ,2));

		jbnButtons[21] = new JButton(" CE ");
		jbnButtons[22] = new JButton("C");

		jplControl.add(jbnButtons[21]);
		jplControl.add(jbnButtons[22]);

//		Setting all Numbered JButton's to Blue. The rest to Red
		for (int i=0; i<jbnButtons.length; i++)	{
			jbnButtons[i].setFont(f12);

			if (i<10)
				jbnButtons[i].setForeground(Color.blue);
				
			else
				jbnButtons[i].setForeground(Color.red);
		}
	
		// Set panel layout manager for a 4 by 5 grid
		jplButtons.setLayout(new GridLayout(4, 5, 2, 2));
		
		//Add buttons to keypad panel starting at top left
		// First row
		for(int i=7; i<=9; i++)		{
			jplButtons.add(jbnButtons[i]);
		}
		
		// add button / and sqrt
		jplButtons.add(jbnButtons[13]);
		jplButtons.add(jbnButtons[17]);
		
		// Second row
		for(int i=4; i<=6; i++)
		{
			jplButtons.add(jbnButtons[i]);
		}
		
		// add button * and x^2
		jplButtons.add(jbnButtons[14]);
		jplButtons.add(jbnButtons[18]);

		// Third row
		for( int i=1; i<=3; i++)
		{
			jplButtons.add(jbnButtons[i]);
		}
		
		//adds button - and %
		jplButtons.add(jbnButtons[15]);
		jplButtons.add(jbnButtons[19]);
		
		//Fourth Row
		// add 0, +/-, ., +, and =
		jplButtons.add(jbnButtons[0]);
		jplButtons.add(jbnButtons[10]);
		jplButtons.add(jbnButtons[11]);
		jplButtons.add(jbnButtons[16]);
		jplButtons.add(jbnButtons[12]);
		
		jplMaster.setLayout(new BorderLayout());
		jplMaster.add(jplBackSpace, BorderLayout.WEST);
		jplMaster.add(jplControl, BorderLayout.EAST);
		jplMaster.add(jplButtons, BorderLayout.SOUTH);

		// Add components to frame
		getContentPane().add(jplMaster, BorderLayout.SOUTH);
		requestFocus();
		
		//activate ActionListener
		for (int i=0; i<jbnButtons.length; i++){
			jbnButtons[i].addActionListener(this);
		}
		
		jmenuitemAbout.addActionListener(this);
		jmenuitemExit.addActionListener(this);

		clearAll();

		//add WindowListener for closing frame and ending program
		addWindowListener(new WindowAdapter() {

				public void windowClosed(WindowEvent e)
				{
					System.exit(0);
				}
			}
		);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}	//End of Contructor Calculator

	// Perform action
	public void actionPerformed(ActionEvent e){
		double result = 0;
	   
		if(e.getSource() == jmenuitemAbout){
			JDialog dlgAbout = new CustomABOUTDialog(this, "About Java Swing Calculator", true);
			dlgAbout.setVisible(true);
		}else if(e.getSource() == jmenuitemExit){
			System.exit(0);
		}	

		// Search for the button pressed until end of array or key found
		for (int i=0; i<jbnButtons.length; i++)
		{
			if(e.getSource() == jbnButtons[i])
			{
				switch(i)
				{
					case 0:
						addDigitToDisplay(i);
						break;

					case 1:
						addDigitToDisplay(i);
						break;

					case 2:
						addDigitToDisplay(i);
						break;

					case 3:
						addDigitToDisplay(i);
						break;

					case 4:
						addDigitToDisplay(i);
						break;

					case 5:
						addDigitToDisplay(i);
						break;

					case 6:
						addDigitToDisplay(i);
						break;

					case 7:
						addDigitToDisplay(i);
						break;

					case 8:
						addDigitToDisplay(i);
						break;

					case 9:
						addDigitToDisplay(i);
						break;

					case 10:	// +/-
						processSignChange();
						break;

					case 11:	// decimal point
						addDecimalPoint();
						break;

					case 12:	// =
						processEquals();
						break;

					case 13:	// divide
						processOperator("/");
						break;

					case 14:	// *
						processOperator("*");
						break;

					case 15:	// -
						processOperator("-");
						break;

					case 16:	// +
						processOperator("+");
						break;

					case 17:	// sqrt
						if (displayMode != ERROR_MODE)
						{
							try
							{
								if (getDisplayString().indexOf("-") == 0)
									displayError("Invalid input for function!");

								result = Math.sqrt(getNumberInDisplay());
								displayResult(result);
							}

							catch(Exception ex)
							{
								displayError("Invalid input for function!");
								displayMode = ERROR_MODE;
							}
						}
						break;

					case 18:	// 1/x
						if (displayMode != ERROR_MODE){
							try
							{
								if (getNumberInDisplay() == 0)
									displayError("Cannot divide by zero!");
	
								result = 1 / getNumberInDisplay();
								displayResult(result);
							}
							
							catch(Exception ex)	{
								displayError("Cannot divide by zero!");
								displayMode = ERROR_MODE;
							}
						}
						break;

					case 19:	// %
						if (displayMode != ERROR_MODE){
							try	{
								result = getNumberInDisplay() / 100;
								displayResult(result);
							}
	
							catch(Exception ex)	{
								displayError("Invalid input for function!");
								displayMode = ERROR_MODE;
							}
						}
						break;

					case 20:	// backspace
						if (displayMode != ERROR_MODE){
							setDisplayString(getDisplayString().substring(0,
										getDisplayString().length() - 1));
							
							if (getDisplayString().length() < 1)
								setDisplayString("0");
						}
						break;

					case 21:	// CE
						clearExisting();
						break;

					case 22:	// C
						clearAll();
						break;
				}
			}
		}
	}

	void setDisplayString(String s){
		jlbOutput.setText(s);
	}

	String getDisplayString (){
		return jlbOutput.getText();
	}

	void addDigitToDisplay(int digit){
		if (clearOnNextDigit)
			setDisplayString("");

		String inputString = getDisplayString();
		
		if (inputString.indexOf("0") == 0){
			inputString = inputString.substring(1);
		}

		if ((!inputString.equals("0") || digit > 0)  && inputString.length() < MAX_INPUT_LENGTH){
			setDisplayString(inputString + digit);
		}
		

		displayMode = INPUT_MODE;
		clearOnNextDigit = false;
	}

	void addDecimalPoint(){
		displayMode = INPUT_MODE;

		if (clearOnNextDigit)
			setDisplayString("");

		String inputString = getDisplayString();
	
		// If the input string already contains a decimal point, don't
		//  do anything to it.
		if (inputString.indexOf(".") < 0)
			setDisplayString(new String(inputString + "."));
	}

	void processSignChange(){
		if (displayMode == INPUT_MODE)
		{
			String input = getDisplayString();

			if (input.length() > 0 && !input.equals("0"))
			{
				if (input.indexOf("-") == 0)
					setDisplayString(input.substring(1));

				else
					setDisplayString("-" + input);
			}
			
		}

		else if (displayMode == RESULT_MODE)
		{
			double numberInDisplay = getNumberInDisplay();
		
			if (numberInDisplay != 0)
				displayResult(-numberInDisplay);
		}
	}

	void clearAll()	{
		setDisplayString("0");
		lastOperator = "0";
		lastNumber = 0;
		displayMode = INPUT_MODE;
		clearOnNextDigit = true;
	}

	void clearExisting(){
		setDisplayString("0");
		clearOnNextDigit = true;
		displayMode = INPUT_MODE;
	}

	double getNumberInDisplay()	{
		String input = jlbOutput.getText();
		return Double.parseDouble(input);
	}

	void processOperator(String op) {
		if (displayMode != ERROR_MODE)
		{
			double numberInDisplay = getNumberInDisplay();

			if (!lastOperator.equals("0"))	
			{
				try
				{
					double result = processLastOperator();
					displayResult(result);
					lastNumber = result;
				}

				catch (DivideByZeroException e)
				{
				}
			}
		
			else
			{
				lastNumber = numberInDisplay;
			}
			
			clearOnNextDigit = true;
			lastOperator = op;
		}
	}

	void processEquals(){
		double result = 0;

		if (displayMode != ERROR_MODE){
			try			
			{
				result = processLastOperator();
				displayResult(result);
			}
			
			catch (DivideByZeroException e)	{
				displayError("Cannot divide by zero!");
			}

			lastOperator = "0";
		}
	}

	double processLastOperator() throws DivideByZeroException {
		double result = 0;
		double numberInDisplay = getNumberInDisplay();

		if (lastOperator.equals("/"))
		{
			if (numberInDisplay == 0)
				throw (new DivideByZeroException());

			result = lastNumber / numberInDisplay;
		}
			
		if (lastOperator.equals("*"))
			result = lastNumber * numberInDisplay;

		if (lastOperator.equals("-"))
			result = lastNumber - numberInDisplay;

		if (lastOperator.equals("+"))
			result = lastNumber + numberInDisplay;

		return result;
	}

	void displayResult(double result){
		setDisplayString(Double.toString(result));
		lastNumber = result;
		displayMode = RESULT_MODE;
		clearOnNextDigit = true;
	}

	void displayError(String errorMessage){
		setDisplayString(errorMessage);
		lastNumber = 0;
		displayMode = ERROR_MODE;
		clearOnNextDigit = true;
	}

	public static void main(String args[]) {
		Calculator calci = new Calculator();
		Container contentPane = calci.getContentPane();
//		contentPane.setLayout(new BorderLayout());
		calci.setTitle("SW07D021 Toonii mashin");
		calci.setSize(241, 217);
		calci.pack();
		calci.setLocation(400, 250);
		calci.setVisible(true);
		calci.setResizable(false);
	}
	
}		//End of Swing Calculator Class.

class DivideByZeroException extends Exception{
	public DivideByZeroException()
	{
		super();
	}
	
	public DivideByZeroException(String s)
	{
		super(s);
	}
}

class CustomABOUTDialog extends JDialog implements ActionListener {
	JButton jbnOk;

	CustomABOUTDialog(JFrame parent, String title, boolean modal){
		super(parent, title, modal);
		setBackground(Color.black);
		
		JPanel p1 = new JPanel(new FlowLayout(FlowLayout.CENTER));

		StringBuffer text = new StringBuffer();
		text.append("Calculator Tuhai\n\n");
		text.append("Developer:	SW07D021\n");
		text.append("Bathuyag");
		
		JTextArea jtAreaAbout = new JTextArea(5, 21);
		jtAreaAbout.setText(text.toString());
		jtAreaAbout.setFont(new Font("Times New Roman", 1, 13));
		jtAreaAbout.setEditable(false);

		p1.add(jtAreaAbout);
		p1.setBackground(Color.red);
		getContentPane().add(p1, BorderLayout.CENTER);

		JPanel p2 = new JPanel(new FlowLayout(FlowLayout.CENTER));
		jbnOk = new JButton(" OK ");
		jbnOk.addActionListener(this);

		p2.add(jbnOk);
		getContentPane().add(p2, BorderLayout.SOUTH);

		setLocation(408, 270);
		setResizable(false);

		addWindowListener(new WindowAdapter() {
				public void windowClosing(WindowEvent e)
				{
					Window aboutDialog = e.getWindow();
					aboutDialog.dispose();
				}
			}
		);

		pack();
	}

	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource() == jbnOk)	{
			this.dispose();
		}
	}
	
}
if(computer == null){
life = null
else life = nice}
Хөрөг
Khaschuluu
™Дусал®
™Дусал®
Бичлэг: 311
Элссэн: 2009-01-28, 16:51
Байрлал: Улаанбаатар
Contact:

Re: Java Technologie

Бичлэг Бичсэн Khaschuluu »

Миний бодлоор Java суга хэл.

C# .NET-ээс үнэгүй гэдэг утгаараа, C++-аас платформ хамааралгүй GUI прогармчилдаг утгаараа илүү хөгжүүлэгдсэн. Сангууд нь бол үнэхээр сайн хөгжүүлэлттэй. Гэвч JVM энээ тэрээ бол ч аяаяаа. Ер нь л хэрэглээний програмчлалын хэл шүү дээ :)
Хөрөг
GansukhB
Өсөх Ирээдүй
Өсөх Ирээдүй
Бичлэг: 8
Элссэн: 2009-08-01, 12:32
Contact:

Re: Java Technologie

Бичлэг Бичсэн GansukhB »

Жаваг шууд суга нтр гэж арай болохгүй ээ. Жаваг хайрладаг, хэрэглэдэг, түүгээр "хоолоо олж иддэг" хүмүүс сонсоод гомдоно :P
Аз жаргалаар дүүрэн хайрт амьдрал мину :)
Хөрөг
monhoo04
Суу Алдарт Гишүүн
Суу Алдарт Гишүүн
Бичлэг: 117
Элссэн: 2010-03-29, 19:56
Танилцуулга: Компьютер сонирхохгч.....
Байрлал: Улаанбаатар
Contact:

Re: Java Technologie

Бичлэг Бичсэн monhoo04 »

Bathuyag wrote:За нэг тооны машин бичсэн ухаантай шүү сонирхоорой.

Код: Бүгдийг сонгох

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;

public class Calculator extends JFrame implements ActionListener{
	// Variables
	final int MAX_INPUT_LENGTH = 20;
	final int INPUT_MODE = 0;
	final int RESULT_MODE = 1;
	final int ERROR_MODE = 2;
	int displayMode;

	boolean clearOnNextDigit, percent;
	double lastNumber;
	String lastOperator;

	private JMenu jmenuFile, jmenuHelp;
	private JMenuItem jmenuitemExit, jmenuitemAbout;
	
	private JLabel jlbOutput;
	private JButton jbnButtons[];
	private JPanel jplMaster, jplBackSpace, jplControl;
	
	/*
	 * Font(String name, int style, int size)
      Creates a new Font from the specified name, style and point size.
	 */
	
	Font f12 = new Font("Times New Roman", 0, 12);
	Font f121 = new Font("Times New Roman", 1, 12);
	
	// Constructor 
	public Calculator() 
	{
		/* Set Up the JMenuBar.
		 * Have Provided All JMenu's with Mnemonics
		 * Have Provided some JMenuItem components with Keyboard Accelerators
		 */ 
		
		jmenuFile = new JMenu("File");
		jmenuFile.setFont(f121);
		jmenuFile.setMnemonic(KeyEvent.VK_F);
		
		jmenuitemExit = new JMenuItem("Exit");
		jmenuitemExit.setFont(f12);
		jmenuitemExit.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_X, 
													ActionEvent.CTRL_MASK));
		jmenuFile.add(jmenuitemExit);

		jmenuHelp = new JMenu("Tuhai");
		jmenuHelp.setFont(f121);
		jmenuHelp.setMnemonic(KeyEvent.VK_H);

		jmenuitemAbout = new JMenuItem("Calculator in tuhai");
		jmenuitemAbout.setFont(f12);
		jmenuHelp.add(jmenuitemAbout);
		
		JMenuBar mb = new JMenuBar();
		mb.add(jmenuFile);
		mb.add(jmenuHelp);
		setJMenuBar(mb);
		
		//Set frame layout manager

		setBackground(Color.gray);

		jplMaster = new JPanel();

		jlbOutput = new JLabel("0");
		jlbOutput.setHorizontalTextPosition(JLabel.RIGHT);
		jlbOutput.setBackground(Color.WHITE);
		jlbOutput.setOpaque(true);
		
		// Add components to frame
		getContentPane().add(jlbOutput, BorderLayout.NORTH);

		jbnButtons = new JButton[23];
//		GridLayout(int rows, int cols, int hgap, int vgap) 

		JPanel jplButtons = new JPanel();			// container for Jbuttons

		// Create numeric Jbuttons
		for (int i=0; i<=9; i++)
		{
			// set each Jbutton label to the value of index
			jbnButtons[i] = new JButton(String.valueOf(i));
		}

		// Create operator Jbuttons
		jbnButtons[10] = new JButton("+/-");
		jbnButtons[11] = new JButton(".");
		jbnButtons[12] = new JButton("=");
		jbnButtons[13] = new JButton("/");
		jbnButtons[14] = new JButton("*");
		jbnButtons[15] = new JButton("-");
		jbnButtons[16] = new JButton("+");
		jbnButtons[17] = new JButton("sqrt");
		jbnButtons[18] = new JButton("1/x");
		jbnButtons[19] = new JButton("%");
		
		jplBackSpace = new JPanel();
		jplBackSpace.setLayout(new GridLayout(1, 1, 2, 2));

		jbnButtons[20] = new JButton("Backspace");
		jplBackSpace.add(jbnButtons[20]);

		jplControl = new JPanel();
		jplControl.setLayout(new GridLayout(1, 2, 2 ,2));

		jbnButtons[21] = new JButton(" CE ");
		jbnButtons[22] = new JButton("C");

		jplControl.add(jbnButtons[21]);
		jplControl.add(jbnButtons[22]);

//		Setting all Numbered JButton's to Blue. The rest to Red
		for (int i=0; i<jbnButtons.length; i++)	{
			jbnButtons[i].setFont(f12);

			if (i<10)
				jbnButtons[i].setForeground(Color.blue);
				
			else
				jbnButtons[i].setForeground(Color.red);
		}
	
		// Set panel layout manager for a 4 by 5 grid
		jplButtons.setLayout(new GridLayout(4, 5, 2, 2));
		
		//Add buttons to keypad panel starting at top left
		// First row
		for(int i=7; i<=9; i++)		{
			jplButtons.add(jbnButtons[i]);
		}
		
		// add button / and sqrt
		jplButtons.add(jbnButtons[13]);
		jplButtons.add(jbnButtons[17]);
		
		// Second row
		for(int i=4; i<=6; i++)
		{
			jplButtons.add(jbnButtons[i]);
		}
		
		// add button * and x^2
		jplButtons.add(jbnButtons[14]);
		jplButtons.add(jbnButtons[18]);

		// Third row
		for( int i=1; i<=3; i++)
		{
			jplButtons.add(jbnButtons[i]);
		}
		
		//adds button - and %
		jplButtons.add(jbnButtons[15]);
		jplButtons.add(jbnButtons[19]);
		
		//Fourth Row
		// add 0, +/-, ., +, and =
		jplButtons.add(jbnButtons[0]);
		jplButtons.add(jbnButtons[10]);
		jplButtons.add(jbnButtons[11]);
		jplButtons.add(jbnButtons[16]);
		jplButtons.add(jbnButtons[12]);
		
		jplMaster.setLayout(new BorderLayout());
		jplMaster.add(jplBackSpace, BorderLayout.WEST);
		jplMaster.add(jplControl, BorderLayout.EAST);
		jplMaster.add(jplButtons, BorderLayout.SOUTH);

		// Add components to frame
		getContentPane().add(jplMaster, BorderLayout.SOUTH);
		requestFocus();
		
		//activate ActionListener
		for (int i=0; i<jbnButtons.length; i++){
			jbnButtons[i].addActionListener(this);
		}
		
		jmenuitemAbout.addActionListener(this);
		jmenuitemExit.addActionListener(this);

		clearAll();

		//add WindowListener for closing frame and ending program
		addWindowListener(new WindowAdapter() {

				public void windowClosed(WindowEvent e)
				{
					System.exit(0);
				}
			}
		);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}	//End of Contructor Calculator

	// Perform action
	public void actionPerformed(ActionEvent e){
		double result = 0;
	   
		if(e.getSource() == jmenuitemAbout){
			JDialog dlgAbout = new CustomABOUTDialog(this, "About Java Swing Calculator", true);
			dlgAbout.setVisible(true);
		}else if(e.getSource() == jmenuitemExit){
			System.exit(0);
		}	

		// Search for the button pressed until end of array or key found
		for (int i=0; i<jbnButtons.length; i++)
		{
			if(e.getSource() == jbnButtons[i])
			{
				switch(i)
				{
					case 0:
						addDigitToDisplay(i);
						break;

					case 1:
						addDigitToDisplay(i);
						break;

					case 2:
						addDigitToDisplay(i);
						break;

					case 3:
						addDigitToDisplay(i);
						break;

					case 4:
						addDigitToDisplay(i);
						break;

					case 5:
						addDigitToDisplay(i);
						break;

					case 6:
						addDigitToDisplay(i);
						break;

					case 7:
						addDigitToDisplay(i);
						break;

					case 8:
						addDigitToDisplay(i);
						break;

					case 9:
						addDigitToDisplay(i);
						break;

					case 10:	// +/-
						processSignChange();
						break;

					case 11:	// decimal point
						addDecimalPoint();
						break;

					case 12:	// =
						processEquals();
						break;

					case 13:	// divide
						processOperator("/");
						break;

					case 14:	// *
						processOperator("*");
						break;

					case 15:	// -
						processOperator("-");
						break;

					case 16:	// +
						processOperator("+");
						break;

					case 17:	// sqrt
						if (displayMode != ERROR_MODE)
						{
							try
							{
								if (getDisplayString().indexOf("-") == 0)
									displayError("Invalid input for function!");

								result = Math.sqrt(getNumberInDisplay());
								displayResult(result);
							}

							catch(Exception ex)
							{
								displayError("Invalid input for function!");
								displayMode = ERROR_MODE;
							}
						}
						break;

					case 18:	// 1/x
						if (displayMode != ERROR_MODE){
							try
							{
								if (getNumberInDisplay() == 0)
									displayError("Cannot divide by zero!");
	
								result = 1 / getNumberInDisplay();
								displayResult(result);
							}
							
							catch(Exception ex)	{
								displayError("Cannot divide by zero!");
								displayMode = ERROR_MODE;
							}
						}
						break;

					case 19:	// %
						if (displayMode != ERROR_MODE){
							try	{
								result = getNumberInDisplay() / 100;
								displayResult(result);
							}
	
							catch(Exception ex)	{
								displayError("Invalid input for function!");
								displayMode = ERROR_MODE;
							}
						}
						break;

					case 20:	// backspace
						if (displayMode != ERROR_MODE){
							setDisplayString(getDisplayString().substring(0,
										getDisplayString().length() - 1));
							
							if (getDisplayString().length() < 1)
								setDisplayString("0");
						}
						break;

					case 21:	// CE
						clearExisting();
						break;

					case 22:	// C
						clearAll();
						break;
				}
			}
		}
	}

	void setDisplayString(String s){
		jlbOutput.setText(s);
	}

	String getDisplayString (){
		return jlbOutput.getText();
	}

	void addDigitToDisplay(int digit){
		if (clearOnNextDigit)
			setDisplayString("");

		String inputString = getDisplayString();
		
		if (inputString.indexOf("0") == 0){
			inputString = inputString.substring(1);
		}

		if ((!inputString.equals("0") || digit > 0)  && inputString.length() < MAX_INPUT_LENGTH){
			setDisplayString(inputString + digit);
		}
		

		displayMode = INPUT_MODE;
		clearOnNextDigit = false;
	}

	void addDecimalPoint(){
		displayMode = INPUT_MODE;

		if (clearOnNextDigit)
			setDisplayString("");

		String inputString = getDisplayString();
	
		// If the input string already contains a decimal point, don't
		//  do anything to it.
		if (inputString.indexOf(".") < 0)
			setDisplayString(new String(inputString + "."));
	}

	void processSignChange(){
		if (displayMode == INPUT_MODE)
		{
			String input = getDisplayString();

			if (input.length() > 0 && !input.equals("0"))
			{
				if (input.indexOf("-") == 0)
					setDisplayString(input.substring(1));

				else
					setDisplayString("-" + input);
			}
			
		}

		else if (displayMode == RESULT_MODE)
		{
			double numberInDisplay = getNumberInDisplay();
		
			if (numberInDisplay != 0)
				displayResult(-numberInDisplay);
		}
	}

	void clearAll()	{
		setDisplayString("0");
		lastOperator = "0";
		lastNumber = 0;
		displayMode = INPUT_MODE;
		clearOnNextDigit = true;
	}

	void clearExisting(){
		setDisplayString("0");
		clearOnNextDigit = true;
		displayMode = INPUT_MODE;
	}

	double getNumberInDisplay()	{
		String input = jlbOutput.getText();
		return Double.parseDouble(input);
	}

	void processOperator(String op) {
		if (displayMode != ERROR_MODE)
		{
			double numberInDisplay = getNumberInDisplay();

			if (!lastOperator.equals("0"))	
			{
				try
				{
					double result = processLastOperator();
					displayResult(result);
					lastNumber = result;
				}

				catch (DivideByZeroException e)
				{
				}
			}
		
			else
			{
				lastNumber = numberInDisplay;
			}
			
			clearOnNextDigit = true;
			lastOperator = op;
		}
	}

	void processEquals(){
		double result = 0;

		if (displayMode != ERROR_MODE){
			try			
			{
				result = processLastOperator();
				displayResult(result);
			}
			
			catch (DivideByZeroException e)	{
				displayError("Cannot divide by zero!");
			}

			lastOperator = "0";
		}
	}

	double processLastOperator() throws DivideByZeroException {
		double result = 0;
		double numberInDisplay = getNumberInDisplay();

		if (lastOperator.equals("/"))
		{
			if (numberInDisplay == 0)
				throw (new DivideByZeroException());

			result = lastNumber / numberInDisplay;
		}
			
		if (lastOperator.equals("*"))
			result = lastNumber * numberInDisplay;

		if (lastOperator.equals("-"))
			result = lastNumber - numberInDisplay;

		if (lastOperator.equals("+"))
			result = lastNumber + numberInDisplay;

		return result;
	}

	void displayResult(double result){
		setDisplayString(Double.toString(result));
		lastNumber = result;
		displayMode = RESULT_MODE;
		clearOnNextDigit = true;
	}

	void displayError(String errorMessage){
		setDisplayString(errorMessage);
		lastNumber = 0;
		displayMode = ERROR_MODE;
		clearOnNextDigit = true;
	}

	public static void main(String args[]) {
		Calculator calci = new Calculator();
		Container contentPane = calci.getContentPane();
//		contentPane.setLayout(new BorderLayout());
		calci.setTitle("SW07D021 Toonii mashin");
		calci.setSize(241, 217);
		calci.pack();
		calci.setLocation(400, 250);
		calci.setVisible(true);
		calci.setResizable(false);
	}
	
}		//End of Swing Calculator Class.

class DivideByZeroException extends Exception{
	public DivideByZeroException()
	{
		super();
	}
	
	public DivideByZeroException(String s)
	{
		super(s);
	}
}

class CustomABOUTDialog extends JDialog implements ActionListener {
	JButton jbnOk;

	CustomABOUTDialog(JFrame parent, String title, boolean modal){
		super(parent, title, modal);
		setBackground(Color.black);
		
		JPanel p1 = new JPanel(new FlowLayout(FlowLayout.CENTER));

		StringBuffer text = new StringBuffer();
		text.append("Calculator Tuhai\n\n");
		text.append("Developer:	SW07D021\n");
		text.append("Bathuyag");
		
		JTextArea jtAreaAbout = new JTextArea(5, 21);
		jtAreaAbout.setText(text.toString());
		jtAreaAbout.setFont(new Font("Times New Roman", 1, 13));
		jtAreaAbout.setEditable(false);

		p1.add(jtAreaAbout);
		p1.setBackground(Color.red);
		getContentPane().add(p1, BorderLayout.CENTER);

		JPanel p2 = new JPanel(new FlowLayout(FlowLayout.CENTER));
		jbnOk = new JButton(" OK ");
		jbnOk.addActionListener(this);

		p2.add(jbnOk);
		getContentPane().add(p2, BorderLayout.SOUTH);

		setLocation(408, 270);
		setResizable(false);

		addWindowListener(new WindowAdapter() {
				public void windowClosing(WindowEvent e)
				{
					Window aboutDialog = e.getWindow();
					aboutDialog.dispose();
				}
			}
		);

		pack();
	}

	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource() == jbnOk)	{
			this.dispose();
		}
	}
	
}
java.awt.*; geel boloo sht eclipse ashiglah yrni demii shuu anh surch bgaa humuust :D
3 тооны ихийг олох алгоритм
-----------------------------------------------------------------
printf("та бодсон 3 тооныхоо ихийг оруулна уу ?/n");
scanf("%d/n",&a);
printf("Хамгийн их нь %d /n",a); :D
Хөрөг
monhoo04
Суу Алдарт Гишүүн
Суу Алдарт Гишүүн
Бичлэг: 117
Элссэн: 2010-03-29, 19:56
Танилцуулга: Компьютер сонирхохгч.....
Байрлал: Улаанбаатар
Contact:

Re: ..:: Programmin Language Java ::..

Бичлэг Бичсэн monhoo04 »

Bathuyag wrote:Хүмүүсээ Java хэлний талаар мэддэг чаддаг бүхнээ ярилцая би
одоо гар утасны прогамчлал хийж сайгаа
Bluetooth ээр олон хэрэглэгч зэрэг холбогдох арга байдаг юм байна
хийж байсан хүн байна уу Source харалций :nice:
Todorhoi bichldee J2ME ashgilaj bgaa ymuu andriod ???
3 тооны ихийг олох алгоритм
-----------------------------------------------------------------
printf("та бодсон 3 тооныхоо ихийг оруулна уу ?/n");
scanf("%d/n",&a);
printf("Хамгийн их нь %d /n",a); :D
nomuka_ch
Өсөх Ирээдүй
Өсөх Ирээдүй
Бичлэг: 3
Элссэн: 2010-07-02, 15:47

nomuka

Бичлэг Бичсэн nomuka_ch »

charAt, string iin heregleeg heleed ogooch
mon angli oguulber database ees ug ugeer ni search hiigeed
mongol oguulber bolgon negtgeed gargamaar bn
yaj gargaj ireh uu yu ashiglahaa sain medehgui bn tuslaach...
nomuka_ch
Өсөх Ирээдүй
Өсөх Ирээдүй
Бичлэг: 3
Элссэн: 2010-07-02, 15:47

Re: Java Technologie

Бичлэг Бичсэн nomuka_ch »

java deer bichij bgiin
hurdan bol sain bn
humuusee tuslaarai
Хөрөг
monhoo04
Суу Алдарт Гишүүн
Суу Алдарт Гишүүн
Бичлэг: 117
Элссэн: 2010-03-29, 19:56
Танилцуулга: Компьютер сонирхохгч.....
Байрлал: Улаанбаатар
Contact:

Re: Java Technologie

Бичлэг Бичсэн monhoo04 »

3 тооны ихийг олох алгоритм
-----------------------------------------------------------------
printf("та бодсон 3 тооныхоо ихийг оруулна уу ?/n");
scanf("%d/n",&a);
printf("Хамгийн их нь %d /n",a); :D
Хөрөг
midolsainaa
Жинхэнэ Гишүүн
Жинхэнэ Гишүүн
Бичлэг: 21
Элссэн: 2009-12-07, 20:43
Contact:

Re: Java Technologie

Бичлэг Бичсэн midolsainaa »

Утасны pro бичвэл аль еditor нь зүгээр вэ?
Бичээл бичээл
Хөрөг
Almas
☆★☆卍 ★ 卍☆★☆
☆★☆卍 ★ 卍☆★☆
Бичлэг: 2639
Элссэн: 2005-02-12, 22:25
Танилцуулга: Монголчууд маань компьютер гэдэг юмыг гартаа оруулж бүгд өөр өөрийн ажил, амьдралдаа мессенжер, тоглоом тоглох, бичиг баримт шивихээс илүүгээр ашиглаад сурчихвал улс орны маань хөгжил тэр чигээр нь чирснээс илүү дугуйтай тэргэн дээр тавиад түрсэн мэт урагшаа өнхрөх байх гэж боддог юм. Анх 2005 оноос Дусал.нэт веб сайтыг Форум хэлбэрээр ажиллуулж эхлэсэн. Олон олон найзуудтай болсон, хамтарч бас нэлээд юм сурч мэдсэн, гэж боддог. Цаашдаа ч гэсэн...
Байрлал: Дэлхий дээр л ;-)
Contact:

Re: Java Technologie

Бичлэг Бичсэн Almas »

Мэдэхгүй юм аа ер нь адилхан байлгүй дээ?
Би бол үбүнтү дээр Geany хэрэглэдэг. Бараг бүх юм аа л Geany дээр хийчихдэг дээ :)
Харь гаригийнхан байдаг :D
Post Reply

Буцах