patserquote:Op dinsdag 10 januari 2006 20:18 schreef Wouske het volgende:
De meeste java projecten die ik ben tegengekomen sluiten zich allemaal aan bij de sun java code conventies of een lichte variatie daarop. Bijvoorbeeld alle jakarta projecten (apache java) beroepen zich ook op deze code conventies. In tegenstelling tot programmeertalen als C, wordt binnen de java gemeenschap code met een bijzonder accolade-gebrek toch als onaanvaardbare code beschouwd.
Ik zou de voorkeur geven aan een binary search. Jij wilt blijkbaar gewoon de array van voor tot achter doorlopen. Als je een beetje een grote array hebt of kunt hebben, kun je dat met een binary search veel efficienter doen.quote:Op dinsdag 10 januari 2006 18:27 schreef HuHu het volgende:
Ik heb er dit van gemaakt, en dat werkt wel aardig volgens mij. De getallen in de array zijn inderdaad oplopend gesorteerd.
[ code verwijderd ]
Heb je het over red black tree en dergelijke algoritmes? In Java zit volgens mij ook een voorgebakken priority_queue container. Lekker makkelijk sorteren: getallen erin proppen en ze staan op volgorde.quote:Op woensdag 11 januari 2006 00:32 schreef gday het volgende:
[..]
Ik zou de voorkeur geven aan een binary search. Jij wilt blijkbaar gewoon de array van voor tot achter doorlopen. Als je een beetje een grote array hebt of kunt hebben, kun je dat met een binary search veel efficienter doen.
Dat zei ik ook al in post 7. Alleen ik denk dat ik niet begrepen werd. Daarom heb ik ook maar een voorbeeldje gemaakt van een standaard binairy search. Deze search heb ik op het einde aangepastquote:Op woensdag 11 januari 2006 00:32 schreef gday het volgende:
Ik zou de voorkeur geven aan een binary search. Jij wilt blijkbaar gewoon de array van voor tot achter doorlopen. Als je een beetje een grote array hebt of kunt hebben, kun je dat met een binary search veel efficienter doen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | private int giveMinDifference(int[] array, int searchValue) { int bot = -1; int top = array.length; while (top - bot > 1) { int mid = (top + bot)/2; if (array[mid] < searchValue) { bot = mid; } else { top = mid; } } /* tot zo ver is het standaard binairy search wat ik hier onder doe is in onze rij getallen 1 naar voren gaan en bekijk de volgende 3 getallen. Het getal met het kleinste verschil is je oplossing Ik doe dit omdat je niet precies de garantie hebt dat je op het getal uit komt met de waarde die het dichtste bij komt bij je gezochte waarde. Voor de mensen die het niet geloven dat deze laatste stap ook noodzakelijk is kan ik een voorbeeld geven */ top -=1; int dif = Math.abs(array[top]-searchValue); for(int i = 0;i<=2;i++) { int newDif = Math.abs(array[top+i]-searchValue); if ( newDif < dif ){ dif = newDif; } } return dif; } |
1 2 3 4 5 6 7 8 9 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 | import javax.swing.*; import java.awt.event.*; public class ButtonTest { public static void main(String[] args) { ButtonFrame frame = new ButtonFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } class ButtonFrame extends JFrame { public ButtonFrame() { setTitle("ButtonTest"); setSize(300, 200); ButtonPanel panel = new ButtonPanel(); add(panel); ButtonPanel2 panel2 = new ButtonPanel2(); add(panel2); } } class ButtonPanel extends JPanel { public ButtonPanel() { setLayout(null); setOpaque(false); //create buttons JButton yellowButton = new JButton("yellow"); //set location yellowButton.setBounds(10, 10, 50, 30); //add buttons to pane; add(yellowButton); } } class ButtonPanel2 extends JPanel { public ButtonPanel2() { setLayout(null); setOpaque(false); //create buttons JButton blueButton = new JButton("blue"); //set location blueButton.setBounds(10, 40, 50, 30); //add buttons to pane; add(blueButton); } } |
-edit-quote:Op zaterdag 14 januari 2006 16:07 schreef Sphere2k4 het volgende:
Ik heb een vraagje over transparantie van JPanels.
[ code verwijderd ]
Ik wil dat zowel ButtonPanel als ButtonPanel2 'doorzichtig' zijn. Hiermee bedoel ik dat hij alleen de componenten laat zien en geen background en dus de onderliggende layer ook deels zichtbaar is.
Hiervoor heb ik setOpaque(false) gebruikt wat zou moeten werken maar dat doet het niet.
Iemand die hier een oplossing voor heeft?
Zo'n combo zou ik ook wel fijn vinden ja. Daarom bleef ik ook nog lang bij BlueJ, vanwege die overzicht. Maar de traagheid en bugs hebben me doen besluiten om toch maar naar JCreator Pro te gaan. Die is echt veel fijner ook dan BlueJ, op het UML na dan. Magoed, de rest weegt daar wel tegenop.quote:Op donderdag 9 februari 2006 11:42 schreef Lod het volgende:
Mijn voorkeur gaat persoonlijk meer uit naar een combinatie van BlueJ en/of netbeans. Eclipse voelt erg traag aan om één of andere reden.
En van BlueJ vind ik de grafische presentatie (UML-achtig) en relaties van de klassen onderling erg handig/geinig.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | { tekst.setFont(Font("arial",18)); UitvoerVeld.setText(tekst); // to do: Vergroot de tekst } void NormaalButton_actionPerformed(java.awt.event.ActionEvent event) { UitvoerVeld.setText(tekst); // to do: code goes here. } void VetButton_actionPerformed(java.awt.event.ActionEvent event) { tekst.setFont(BOLD); UitvoerVeld.setText(tekst); // to do: code goes here. } } |
1 2 3 4 5 6 7 8 | tekst.setFont(Font("arial",18)); ^ Error: D:\Documents and Settings\naam\\Mijn documenten\School\Opdracht 21\Applet1.java(159): Undefined variable: BOLD tekst.setFont(BOLD); ^ 2 errors Build Failed |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |