» Poradna » Programy

J2me chyba pri vytváraní instancie vlastnej triedy datum

 |   |  Microsoft Windows 7 Opera 9.80

som zaciatocnik a snazim sa vytvorit aplikaciu na vypis poctu dni od narodenia v java - micro edition.Mám problém s vytvorením instancie vlastnej triedy datum.Annotation: An unexpected internal exception occured in debug interface layer. Please submit this to your JVM vendor.Annotation: An unexpected internal exception occured in debug interface layer. Please submit this to your JVM vendor.An unexpected internal exception occured in debug interface layer. Please submit this to your JVM vendor.An unexpected internal exception occured in debug interface layer. Please submit this to your JVM vendor.Caused: com.sun.jdi.InternalException: Unexpected JDWP Error: 21 at com.sun.tools.jdi.JDWPException.toJDIException(JDWPException.java:65) at com.sun.tools.jdi.ReferenceTypeImpl.getInterfaces(ReferenceTypeImpl.java:572) at com.sun.tools.jdi.ClassTypeImpl.interfaces(ClassTypeImpl.java:70) at com.sun.tools.jdi.ClassTypeImpl.addVisibleMethods(ClassTypeImpl.java:392) at com.sun.tools.jdi.ReferenceTypeImpl.visibleMethods(ReferenceTypeImpl.java:526) at com.sun.tools.jdi.ClassTypeImpl.concreteMethodByName(ClassTypeImpl.java:302)[catch] at org.netbeans.modules.debugger.jpda.jdi.ClassTypeWrapper.concreteMethodByName(ClassTypeWrapper.java:156) at org.netbeans.modules.debugger.jpda.models.AbstractObjectVariable.getToStringValue(AbstractObjectVariable.java:483) at org.netbeans.modules.debugger.jpda.models.AbstractObjectVariable.getToStringValue(AbstractObjectVariable.java:445) at org.netbeans.modules.debugger.jpda.models.AbstractObjectVariable.getToStringValue(AbstractObjectVariable.java:411) at org.netbeans.modules.debugger.jpda.models.WatchesModel$JPDAWatchEvaluating.getToStringValue(WatchesModel.java:379) at org.netbeans.modules.debugger.jpda.ui.models.WatchesNodeModelFilter.getShortDescriptionSynch(WatchesNodeModelFilter.java:133) at org.netbeans.modules.debugger.jpda.ui.models.VariablesNodeModel$1.run(VariablesNodeModel.java:263) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1452) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2032)KOD:package Datum;import java.util.Calendar;import java.util.Date;import javax.microedition.lcdui.*;import javax.microedition.midlet.MIDlet;import javax.microedition.midlet.MIDletStateChangeException; public class Midlet extends MIDlet implements CommandListener { Display disp; Form setup; Form result; TextField rok ; TextField mesiac ; TextField den ; Command vypocet; Command koniec; Command spat; StringItem pozdrav; StringItem dnesny_datum; StringItem vysledok; StringItem ss; datum Datum; datum teraz; datum narod; datum de; Date d_date; static final int[] dni= {31,28,31,30,31,30,31,31,30,31,30,31}; private class datum { int den; int mesiac; int rok; public datum() { } public datum(int d, int m, int r) { den = d; mesiac = m; rok = r; } public datum(String d, String m, String r) {den = Integer.parseInt(d); mesiac = Integer.parseInt(m); rok = Integer.parseInt(r); } } public datum d_datum() { Calendar calendar = Calendar.getInstance(); calendar.setTime(d_date); datum vystup; int ye = calendar.get(Calendar.YEAR); int mo = calendar.get(Calendar.MONTH); int da = calendar.get(Calendar.DAY_OF_MONTH); vystup = new datum (ye,mo,da); return vystup; } public Midlet() { d_date = new Date(); pozdrav = new StringItem("Zadaj datum narodenia: ", ""); vypocet = new Command("Vypocitaj!", Command.SCREEN, 2); spat = new Command("Spat", Command.SCREEN, 3); koniec = new Command("Zavri", Command.SCREEN, 1); rok = new TextField("Rok:", "", 4, TextField.NUMERIC); mesiac = new TextField("Mesiac:", "", 2, TextField.NUMERIC); den = new TextField("Den:", "", 20, TextField.NUMERIC); datum pomdat = new datum(); int d = d_datum().den; int m = d_datum().mesiac; int r = d_datum().rok; setup = new Form("Zadaj datum narodenia"); dnesny_datum = new StringItem("", "Dnes je:"+Integer.toString(d)+"."+Integer.toString(m)+"."+Integer.toString(r)); setup.append(dnesny_datum); setup.append(pozdrav); setup.append(den); setup.append(mesiac); setup.append(rok); setup.addCommand(vypocet); setup.addCommand(koniec); result = new Form("VYSLEDOK"); } public void startApp() { disp = Display.getDisplay(this); setup.setCommandListener(this); disp.setCurrent(setup); } public void commandAction(Command c, Displayable d) { de = new datum("22","8","1994"); //testovaci datum - tuto nastane chyba, pri debugovani sa priradi chyb hlaska if (c== spat) { disp.setCurrent(setup); } if(c == koniec) { notifyDestroyed(); } if(c == vypocet) { ss = new StringItem("",rok.getString()+mesiac.getString()+rok.getString()); if (validate (de)) { String vysledok = vypocitaj (Integer.parseInt(rok.getString()),Integer.parseInt(mesiac.getString()),Integer.parseInt(den.getString())); result.append(vysledok); result.addCommand(koniec); result.setCommandListener(this); disp.setCurrent(result); } else {String vysledok = "Chyba zadania datumu"; result.append(vysledok); result.addCommand(spat); result.addCommand(koniec); result.setCommandListener(this); disp.setCurrent(result); } }} private boolean priestupny(int rok) { if ((( rok % 400 == 0) || (rok % 100 != 0)) && (rok % 4 == 0) ) { return true; } else { return false; } } private boolean validate(datum dat) { if ((dat.den >= 1) && (dat.den <=31) && (dat.mesiac >= 1) && (dat.mesiac <=12) && (dat.rok >=1) && (dat.rok < 2012) && (dat.mesiac <= dni[dat.mesiac])) { return true; } else { return false; } } private String vypocitaj(int rok, int mesiac, int den) { String vysledok; int rokdni = 0; int mesdni = 0; datum narod; narod = new datum (rok, mesiac, den); teraz = d_datum(); for (int i = teraz.rok-1; i <= narod.rok+1; i--) { if (priestupny (i)) {rokdni+= 366; } else {rokdni+= 365;} } if ((priestupny (narod.rok)) && (narod.mesiac<=3)) { mesdni++; } if ((priestupny (teraz.rok)) &&(teraz.mesiac>=1)) { mesdni++; } for (int i = narod.mesiac+1;i<= 12; i++) {mesdni += dni[i];} for (int i = 1; i<= teraz.mesiac-1; i++) {mesdni += dni[i];} int value = rokdni+mesdni+teraz.den+ dni[narod.mesiac]-narod.den; vysledok = ("Uz" + value+ "dni ste na tomto svete"); return vysledok; } protected void destroyApp(boolean arg0) throws MIDletStateChangeException { // TODO Auto-generated method stub } protected void pauseApp() { // TODO Auto-generated method stub }}Pomôže mi niekto s tým prosím?


Související témata: 10, Datum, Public, Return, Return false, Calendar, Catch




Určitě si přečtěte

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

** Dlouho se nevědělo, co to přesně má být ** Pak se s krabičkou Google pochlubil na I/O ** Do „Chromecastu“ vtěsnal celý Android TV

Jakub Čížek | 22

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

** Systém Windows 10 umí spoustu užitečných drobností ** O mnoha praktických funkcích pravděpodobně ani nevíte ** Poznejte užitečné tipy, které se vám mohou hodit každý den

Vladislav Kluska | 30

Jak dopadl velký den Applu s náloží novinek: Sledujte, co letos připravil

Jak dopadl velký den Applu s náloží novinek: Sledujte, co letos připravil

** Apple večer představil novinky ** Ukáže nové operační systémy, ale čekala se i nová zařízení ** Začíná vývojářská konference Applu WWDC 2018

Karel Javůrek | 86

Alan Turing: Genius, který matematicky stvořil počítač

Alan Turing: Genius, který matematicky stvořil počítač

Řešením matematického problému se dostal k modelu teoretického stroje, který nese jeho jméno a je základem logiky univerzálních počítačů.

Pavel Tronner | 56

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

** Total Commander je na Windows takřka legendou ** Licence však stojí více než tisíc korun ** Našli jsme pro vás deset alternativ dostupných zdarma

Karel Kilián | 94

PrusaLab a FutLab: Praha se dočkala špičkových komunitních dílen pro hackery

PrusaLab a FutLab: Praha se dočkala špičkových komunitních dílen pro hackery

** Nejprve svoji velkou dílnu otevřelo Brno ** Letos se přidala i Praha ** Nabízí malé 3D tiskárny i velké průmyslové stroje

Jakub Čížek | 11

Šmírovačka kamerami Googlu: Koukněte se, co nového zachytily na Street View

Šmírovačka kamerami Googlu: Koukněte se, co nového zachytily na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 42


Aktuální číslo časopisu Computer

Kdy necháme řídit chytrá auta?

6 Wi-Fi Mesh systémů ve velkém testu

Srovnali jsme 7 sportovních kamer

Znáte pravidla pro létání s drony?