» »

[java] Osnovna vprašanja

[java] Osnovna vprašanja

killa bee ::

Napisal sem funkcijo v Javi, ki iz konzole prebere int. Zanima me kaj moram narediti in kako, da bo ta funkcija dostopna vsakič ko pritisnem ctr + space v Eclipsu?

Bojevnik ::

Nastavi modifier na public/protected ?

Arto ::

Hm. Verjetno se moraš vrtet v while zanki in preverjat, če sta pritisnjena ctrl+space?

killa bee ::

import java.util.*;


public class BranjePodatkov {

	public static int preberiInt() {
		boolean uspeh = false;
		int stevilo = 0; 
		while(!uspeh){
			try{
				Scanner scanner = new Scanner(System.in);
				stevilo = scanner.nextInt();
				uspeh = true;	
			}catch (InputMismatchException e){
				System.out.println("Napačen format števila. ponovitev vnosa: ");			
			}
		}
		
		return stevilo;
	}


Jst bi zdj rad klicu to funkcijo iz katergakol novega projekta. Spravi rad bi klical funkcijo preberiInt() v katerem koli (bodočem)projektu.
Sepravi ustvariš objekt in kličeš z int spremenljivka = NovObjekt.preberiInt().

Zgodovina sprememb…

  • spremenilo: killa bee ()

broken/link ::

ta fajl prepišeš v nov projekt, potem pa tam, kjer nucaš, kličeš: BranjePodatkov.preberiInt() in je to to.

Zgodovina sprememb…

killa bee ::

Dam ta fajl v nov projekt. Odprem drug projekt in puskušam narest nov objekt: static BranjePodatkov p;
in mi napiše BranjePodatkov cannot be resolved as a type.

icurk ::

Če hočeš klicat to funkcijo in dobiti rezultat ven enostavno nardiš:
int p;
p = Branjepodatkov.preberiInt();
in boš v p dobil število ki si ga vtipkal

Spura ::

killa bee je izjavil:

Dam ta fajl v nov projekt. Odprem drug projekt in puskušam narest nov objekt: static BranjePodatkov p;
in mi napiše BranjePodatkov cannot be resolved as a type.

Mora bit v istem projektu ali pa mora bit dodan na classpath od projekta.

killa bee ::

kako pa dodaš classpath?

gendale ::

če bi pisal v notepad++ pa mel vse v isti mapi bi ti delal samo od sebe :))
seznam zanč moderatorjev in razlogov da so zanč
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)

Arto ::

Zrihti si kakšen eclipse, ti bo precej lažje.

gendale ::

a to je meni namenjeno?
seznam zanč moderatorjev in razlogov da so zanč
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)

killa bee ::

jst mam eclipse tko da...

gendale ::

sej zato maš pa probleme ;)
seznam zanč moderatorjev in razlogov da so zanč
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)

killa bee ::

bom kr ostal na eclipse, hvala na predlogu

silo ::

Če slučajno še nisi našel: desni klik na projekt kamor hočeš uvozit, Properties -> Java Build Path -> (tab) Projects -> Add, dodaš željen projekt in BranjePodatkov.beriInt() bi moralo delat.

Zgodovina sprememb…

  • spremenil: silo ()

killa bee ::

jst sm dal pod Libriaries -> add class folder

killa bee ::

public class ExponentnaFja {

	public static void main(String[] args) {
		
//		System.out.println("Vpisi eksponent : ");
//		int n = BranjePodatkov.preberiInt();
		
		
		int g = BranjePodatkov.preberiInt();
		int i = BranjePodatkov.preberiInt();
		System.out.println("Potenca : " +potenca(g,i));
		
		
											}

//	public static double expFja(int n){
//		double vsota = 1;
//		double clen = 0;
//		do {
//			vsota = vsota + clen;
//			clen = potenca(n,i)/fakulteta(i)
//		} while (Math.abs(vsota)>0.000001);
//										}
							
	public static double potenca(int osnova, int k){
		int z = 1; 
		for (int j = 0; j < k; j++) {
			z = z*osnova;
									}
		return z;
						}
	
//	public double fakulteta(int j){
//		
//		
//	}
//	
//	
	


a mogoče kdo ve zakaj ne odpre konzole pa me vpraša za 2 števili?

aha, sm že pogruntal

Zgodovina sprememb…

Spura ::

Control+Shift+F

killa bee ::

a mogoče kdo ve zakaj mi to napako javlja ko hočem ctrl + s (shranit)?

http://imageshack.us/photo/my-images/85...

Spura ::

Zato ker spreminjas kodo medtem ko ti program laufa v debuggerju, kar pomeni da ti hoce hotswappat kodo v aktiven program, kar pa ne rata vedno, ce imas napake ali pa spreminjas strukturo objektov. You know, exactly what it says.

killa bee ::

aha, zgleda mi je osttal v debug modu pa spoh nism opazu

Spura ::

Na sliki vidis zeleno pobarvano vrstico, kar je vrstica pred katero trenutno stoji debugger.

killa bee ::

a se da narest da maš vse api na disku, ne pa da rabš internet? al pa vsaj ta api k je na spletni strani od oracla

Zgodovina sprememb…

  • spremenilo: killa bee ()

Spura ::

killa bee ::

A obstaja mogoče kaka slovenska facebook(google group itd.) skupina programerjev Jave/Android-a?

killa bee ::

kako nardim da zgine to kar je obkroženo?

http://tinypic.com/r/59mw4/5

KaRkY ::

Na vrhu nad MetalciKrogle zraven rumenega markerja Toggle Breadcrumb.
When you look long into an abyss, the abyss looks into you

Zgodovina sprememb…

  • spremenil: KaRkY ()

killa bee ::

aha, sm najdu

Zgodovina sprememb…

  • spremenilo: killa bee ()

killa bee ::

a mi lahko nekdo pove zakaj ta program ne dela oz zakaj ne gre nikol v if zanko?

public class Kalkulator {

	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable(){
			public void run()
			{
				JPanel plosca = new Plosca();
				GraficnoOgrodje.ustvariOkno("Kalkulator",plosca,false);
			}
		});

	}
	private static class Plosca extends JPanel implements ActionListener
	{
		private JTextField vpSt1, vpSt2, vpRez;
		private JButton gmPlus,gmMinus,gmDeljeno,gmKrat;
	
		public Plosca()
		{
			setLayout(new FlowLayout());
			
			vpSt1 = new JTextField(7);
			vpSt2 = new JTextField(7);
			vpRez = new JTextField(7);
			JButton gmPlus = new JButton(" + ");
			JButton gmMinus = new JButton(" - ");
			JButton gmKrat = new JButton(" * ");
			JButton gmDeljeno = new JButton(" / ");
			
			add(new JLabel("Stevilka 1"));
			add(vpSt1);
			add(new JLabel("Stevilka 2"));
			add(vpSt2);
			add(new JLabel("Rezultat"));
			add(vpRez);
			add(gmPlus);
			add(gmMinus);
			add(gmKrat);
			add(gmDeljeno);
			
			vpSt1.setHorizontalAlignment(JTextField.RIGHT);
			vpSt2.setHorizontalAlignment(JTextField.RIGHT);
			vpRez.setHorizontalAlignment(JTextField.RIGHT);
			vpRez.setEditable(false);
			
			gmPlus.addActionListener(this);
			gmMinus.addActionListener(this);
			gmKrat.addActionListener(this);
			gmDeljeno.addActionListener(this);
		}
		
			public void actionPerformed(ActionEvent e)
			{
				
				double stev1 = Double.parseDouble(vpSt1.getText());
				double stev2 = Double.parseDouble(vpSt2.getText());
				double rez = 7; 
				
				Object izvor = e.getSource();
				if( izvor == gmPlus )
				{
					rez = stev1 + stev2;
					System.out.println("Hi");
				}
				else if(izvor == gmMinus)
				{
					rez = stev1 - stev2;
				}
				else if(izvor == gmKrat)
				{
					rez = stev1 * stev2;
				}
				else if(izvor == gmDeljeno)
				{
					rez = stev1 / stev2;
				}
				vpRez.setText(Double.toString(rez)); 	
				
			}
	}
	
}

killa bee ::

v tem programu mi ni čisto jasno delovanje funkcije "actionPerformed(ActionEvent e)", v bistvu jo samo dekleriramo, nikoli je ne kličemo?

Ni mi tudi jasno zakaj funkciji "gmPlus.addActionListener(this);" podamo referenco do objekta v kateri je ustvarjena?

Zgodovina sprememb…

  • spremenilo: killa bee ()

Mesar ::

defi niramo jo zato ker brez nje nima actionlistner instance.
Your turn to burn!

killa bee ::

aha seprav definirat jo mormo zato ker imamo "extends actionlistener"

mislm implements

Zgodovina sprememb…

  • spremenilo: killa bee ()

Marat ::

Bom kar tukaj vprašal, da ne odpiram nove teme. In sicer kaj točno pomeni tole: |=

Google mi noče iskat tega ;((

Zgodovina sprememb…

  • spremenil: Marat ()

Bojevnik ::

@Marat pogooglaj java operators. Drugače je pa tisto logični ali na isti način ko je npr vsota +=

Spura ::

killa bee je izjavil:

v tem programu mi ni čisto jasno delovanje funkcije "actionPerformed(ActionEvent e)", v bistvu jo samo dekleriramo, nikoli je ne kličemo?

Ni mi tudi jasno zakaj funkciji "gmPlus.addActionListener(this);" podamo referenco do objekta v kateri je ustvarjena?

actionperfomed klice GUI engine, ki tece v svojem threadu. Ko pritisnes na gumb se prebere seznam ActionListenerjev na gumbu in gui thread klice actionperformed na vseh action listener objektih. Ti si gumb dodal na objekt tipa plosca, ki je container v katerem je gumb. addActionListener(this) se sklicuje na ta objekt tipa Plosca, ki je hkrati tipa ActionListener.

KaRkY ::

@Marat a |= b je eqvivalentno a = a | b in to je bitni ali.
When you look long into an abyss, the abyss looks into you

killa bee ::

kdo pa ustvar(deklerira) razred ActionEvent e ?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[java] naloge za vajo

Oddelek: Programiranje
71375 (1061) Yacked2
»

[Java] Ne zažene appleta

Oddelek: Programiranje
51213 (1146) iggy
»

[java] vstavljanje slike v JFrame

Oddelek: Programiranje
71313 (1209) KaRkY
»

[java] opcijsko okno

Oddelek: Programiranje
102080 (1861) infiniteLoop
»

Java,actionlistener problem

Oddelek: Programiranje
51135 (1121) JaaZoo

Več podobnih tem