webForumDet fria alternativet

Nån som skulle vilja hjälpa mig med en del frågor i Java.

Java

18 svar · 767 visningar · startad av Nidjer

Medlem sedan nov. 200126 inlägg
Frågan#1

Hej jag håller på med Java i skolan och det är en del frågor som jag inte kan svaret på. nån som vill hjälpa mig så är frågorna här.

6. En "svart box" har ett gränssnitt och en implementation. Förklara vad som menas med gränssnitt och inplementation! Ge exempel
Svar:

7. Om parametrar:

Förklara vad parametrar används till
Svar: 

Förklara skillanden mellan formella parametrer och aktuella parametrar.	
Svar:

8. Skriv en funktion som tar tre parametrar av typen int. Funktionen skall returnera den minsta av de tre talen.
Svar:

9. Vad är värdet "null" betyder i Java, och vad används det till.
Svar:

10. Vad är en kontruktor (constructor), och när används den?
Svar:

11. Förklara kortfattat hur arv (extends) fungerar i Java.
Svar:

12. Förklara kortfattat vad ett interface är, och när man använder det.
Svar:

13. Du skall skriva en fullt utvecklad klass i Java som kan fungera som en räknare.
Klassen skall heta Counter. Den har en "private" heltalsvariabel som håller värdet på räknaren, och två metoder; "increment()" som lägger till ett till räknaren och "getValue()" som returnerar aktuellt värde på räknaren.
Svar:

14. Hur fungerar en applet? Beskriv kortfattat vad som krävs för att en applet skall fungerar.
(Vad som ärvs, och vilka metoder som används)
Svar:

tack på förhand nidjer

Medlem sedan feb. 20002 300 inlägg
#2

Det här är ju som du säger skoluppgifter.

Ni har väl förmodligen någon kurslitteratur som du kan använda för dessa frågor?

Medlem sedan nov. 200126 inlägg
#3

jaja ok då då thx ändå

Medlem sedan apr. 2002179 inlägg
#4

Men jag skulle vilja ha svar på dessa fråger me och jag går inte i skolan =)

Medlem sedan juni 200010 432 inlägg
#5
  • Gränssnitt är formen och implementationen hur det sammansätts
  • Parameter som är ju nåt som påverkar.. ;)
  • Det finns inga funktioner i Java ;) Men en metod kan se ut så här:
    public int korkskruv(int a,int b, int c){ bla bla bla }
  • null är som 0 och det används ihop med objekts-datatyper ist för 0... t.ex
    Datatypen typ = null
  • Skapar och initierar instanser av objekt, anropas med new
  • Som andra arv, men inte endast till en nivå
  • Interface är ett gränssnitt. Det bestämmer hur objekt ska fungera. En abstrakt datatyp.
  • Nix
  • Nix

Resten får du nog läsa dig till :e

Medlem sedan mars 20007 896 inlägg
#6

Då tar jag de två sista, även fast jag faktiskt var emot att hjälpa till då det handlade om ett skolarbete - men PeW satte ju igång... ;)

13. Ex:

public class Counter {
     private int raknare = 0;

     public void increment () {
          this.raknare++;
     }
     public int getValue () {
          return this.raknare;
     }
}

14. Klassen bör ärva från Applet ( AWT-biblioteket ) eller JApplet ( Swing-biblioteket ). Metoder som används är init () och run (), om jag inte missminner mig.

Medlem sedan juni 200010 432 inlägg
#7

SPiN ->

fast jag faktiskt var emot att hjälpa till då det handlade om ett skolarbete

Då får vi knalla in på den skolan som håller i kursen och hämta våra betyg :birp

Medlem sedan mars 20007 896 inlägg
#8

Vi kan passa på att avsätta läraren också, han verkar tro att det finns funktioner i Java... Sicken knäppis. :OO ;)

Så länge betygen är minst lika bra som jag hade i min Java-kurs så vill jag ha dem. ;)

Medlem sedan juni 200010 432 inlägg
#9

Eftersom SPiN avgjorde och det saknas en kodsnutt så kommer den här:

public int minValue(int a, int b, int c){
    return (a<b && a<c)?a:(b<a && b<c)?b:c;
}

:birp

r:
redigerade villkoren... var nog lite trött igår ;)

Medlem sedan apr. 2002179 inlägg
#10

Fint =)

Medlem sedan sep. 2001961 inlägg
#11

null är som 0 och det används ihop med objekts-datatyper ist för 0... t.ex

null och 0 är två skillda saker

att säga

int i = null;

och

int i = 0;

skiljer sig jättemycket.

null är en så kallad "oreferering", d.v.s. man säger att den här variabeln refererar inte till någonting. Att referera den till 0 innebär att den pekar ut ett minnesutrymme som inhåller representationen av en nolla.

Du kan inte fatta hur många som har gjort fel för att en lärare har sagt att null är lika med 0.

Att säga:

int tre = 3;
int noll = 0;

och göra if(tre > noll)

eller att säga

int tre = 3;
int noll = null;

och göra (if(tre > noll) [detta ger null pointer exeption]
är en viss skillnad...

just my $.02

/Lime

Medlem sedan juni 200010 432 inlägg
#12

Men det var ju det jag menade juh, men jag ville avsiktligen inte avslöja för mycket då det som sagt var en skoluppgift... men sen kom SPiN och radade upp kod och läget blev lite annorlunda ;)

En referens till ett objekt kan man inte sätta till 0 utan till null. En datatyp som en int, char, double är inget objekt utan en primitiv och den kan man inte avreferera med null utan man sätter den till 0. Likväl är en icke instansierad objektstyp redan null från början tills den är instansierad.

Object o;  // <- är nu null
o = new Object();  // <- är inte längre null

etc etc etc etc

Du kan inte fatta hur många som har gjort fel för att en lärare har sagt att null är lika med 0

Jo jag anar det om de inte ens fattar att det inte finns "funktioner" i Java :p

Medlem sedan juni 20008 205 inlägg
#13

Förklara skillanden mellan formella parametrer och aktuella parametrar.
Formella parametrar är de som skrivs i metodhuvudet, aktuella parametrar är de man använder i anropet.

public void makeItHappen(int quux){
    while (quux-- > 0)
        System.err.println(Math.sqrt(quux));
}
[i]Meanwhile, downtown...[/i]
int snafu = 42;
makeItHappen(snafu);

Här är quux formell parameter och snafu aktuell parameter. (Det kan vara tvärtom också, men eftersom det skulle innebära att jag har fel så är det inte särskilt sannolikt. :) )

Object o;  // <- är nu null

Nix, o är oinitierad, och alla försök att använda o skulle ge kompileringsfel :p

Medlem sedan sep. 2001961 inlägg
#14

Ursprungligen av PeW
En datatyp som en int, char, double är inget objekt utan en primitiv och den kan man inte avreferera med null utan man sätter den till 0. Likväl är en icke instansierad objektstyp redan null från början tills den är instansierad.

Så du menar att om jag deklarerar

for (int i =0; i < 1000; i++)
... som ju inte är en direkt ovanlig konstuktion så är den avrefererad? ;)

Du har iofs fullständigt rätt. Primitiverna kan man inte avreferera med null, men heller inte avreferera med 0. -1 brukar annars användas ganska flitigt.

/Lime

Medlem sedan maj 20018 027 inlägg
#15

-> Lime

Poängen är väl snarare att man inte refererar till primitiver, utan primitiverna är verkligen själva variablerna. Låter otydligt, men om du försöker se objektsreferenserna som en slags pekare, så förstår du nog hur jag menar. Sätter man en int till 0, så finns variabeln där och har värdet 0. Sätter man en pekare till 0, så pekar den på minnesadressen 0.

Medlem sedan juni 200010 432 inlägg
#16

Primitiverna kan man inte avreferera med null, men heller inte avreferera med 0

Om du läser det jag skrev en gång till så ser du att jag inte alls påstod att man avrefererar en primitiv med 0, utan man sätter den till 0 , -1 eller whatever beroende på algoritmkonstruktion och vad man ska göra.

Lite skillnad, det ;)

Medlem sedan nov. 200126 inlägg
#17

Tackar för alla svar. Nu förstår jag lite bättre läraren är lite konstig typ när man frågar.

Medlem sedan sep. 2001961 inlägg
#18

Ursprungligen av Nidjer Tackar för alla svar. Nu förstår jag lite bättre läraren är lite konstig typ när man frågar.

Det är vi också...

/Lime

Medlem sedan nov. 200126 inlägg
#19

ok

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)