Trädvy Permalänk
Inaktiv
Registrerad
Jan 2016

En uppgift - hjälp

Vilken utskrift får man när man exekverar det här programmet och behöver man göra något för att kompilera programmet?
använda typomvandlingar

public class Tesst { public static void main(String[] args) { int i1 = 10; float f1 = i1; float f2 = 10.0F; int i2 = (int) f2; long i = (long) f2; System.out.println(f1 + " " + i2 + " " + i); } }

SVAR:
10.0 10 10

Trädvy Permalänk
Inaktiv
Registrerad
Jan 2016

Vill gärna ha noga förklaring....

sedan även om någon kan ge bra exempel o förklaring på hur man använder E notationer och hur ska man veta hur mycket talet ska vara upphöjt till osv

Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Okt 2011
Skrivet av walkinpark:

Vilken utskrift får man när man exekverar det här programmet och behöver man göra något för att kompilera programmet?
använda typomvandlingar

public class Tesst {
public static void main(String[] args) {

int i1 = 10;
float f1 = i1;

float f2 = 10.0F;
int i2 = (int) f2;
long i = (long) f2;

System.out.println(f1 + " " + i2 + " " + i);

}
}
SVAR:
10.0 10 10

Du behöver inte göra något ovanligt för att kompilera programmet, vad utskriften blir ser du så fort du kör det. Om något inte fungerar eller verkar konstigt är du välkommen att ställa frågor om det.

Corsair Vengeance LPX 2x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Trädvy Permalänk
Inaktiv
Registrerad
Jan 2016

Tackar för snabbt svar! Kan någon möjligtvis förklara till mig hur det fungerar när det gäller E notationer och om det står t.ex:

float f = 1.2E-5F ? Hur mycket är detta, hur ska man veta hur mycket det är upphöjt till?

ett annat ex:
0.0000000001 kan skrivas som 1E-9
double d = 1E-9;

så vad är reglerna i detta och hur fungerar det? tacksam för hjälp.. har försökt läsa lite på nätet o så men hajar inte riktigt.

Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Okt 2011
Skrivet av walkinpark:

Tackar för snabbt svar! Kan någon möjligtvis förklara till mig hur det fungerar när det gäller E notationer och om det står t.ex:

float f = 1.2E-5F ? Hur mycket är detta, hur ska man veta hur mycket det är upphöjt till?

ett annat ex:
0.0000000001 kan skrivas som 1E-9
double d = 1E-9;

så vad är reglerna i detta och hur fungerar det? tacksam för hjälp.. har försökt läsa lite på nätet o så men hajar inte riktigt.

1.2E-5F betyder att det är en float (F) med värdet 1.2*10^-5, helt enkelt E betyder *10^ hur mycket det är upphöjt till ser du direkt efter i ditt exempel är det -5 så ditt tal blir 0,000012.

Corsair Vengeance LPX 2x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Trädvy Permalänk
Inaktiv
Registrerad
Jan 2016

@gaminggirl:
Så det är alltid *10^ (siffran som står efter) ..

typ

double d = 14.12345678
är samma sak som
double d = 14-E8 ? eller blir det E-8?

för 8an är väll hur många siffror det är efter komma. alltså efter 14?

Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Okt 2011
Skrivet av walkinpark:

@gaminggirl:
Så det är alltid *10^ (siffran som står efter) ..

typ

double d = 14.12345678
är samma sak som
double d = 14-E8 ? eller blir det E-8?

för 8an är väll hur många siffror det är efter komma. alltså efter 14?

Nej, 14E-8 = 0,00000014 det är inte hur många siffror som kommer efter kommat, det är gånger 10 upphöjt till siffrorna efter E.

1E2 = 100
1E-2 = 0,01

Corsair Vengeance LPX 2x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Trädvy Permalänk
Inaktiv
Registrerad
Jan 2016

Så då blir double d2 = 2.5E40 2.5 gånger 10 upphöjt till 40??

En annan sak, sista:

int i = 1000;
byte b = (byte) i;
short s = (short) i;
System.out.println(b + " " + s);

double d1 = 2.5;
double d2 = 2.5E40;
double d3 = 1.23456789012;
float f1 = (float) d1;
float f2 = (float) d2;
float f3 = (float) d3;
System.out.println(f1 + " " + f2 + " " + f3);

run:
-24 1000

2.5 Infinity 1.2345679
BUILD SUCCESSFUL (total time: 0 seconds)

Kan någon förklara hur b blir till -24? byte är förlitet ja men varför just -24?

Trädvy Permalänk
Inaktiv
Registrerad
Jan 2016

Om det står såhär

double x = 1.23456792E8 är den förkortad eftersom E är med eller kan man förkorta den, isåfall hur?

Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Okt 2011
Skrivet av walkinpark:

Så då blir double d2 = 2.5E40 2.5 gånger 10 upphöjt till 40??

En annan sak, sista:

int i = 1000;
byte b = (byte) i;
short s = (short) i;
System.out.println(b + " " + s);

double d1 = 2.5;
double d2 = 2.5E40;
double d3 = 1.23456789012;
float f1 = (float) d1;
float f2 = (float) d2;
float f3 = (float) d3;
System.out.println(f1 + " " + f2 + " " + f3);

run:
-24 1000

2.5 Infinity 1.2345679
BUILD SUCCESSFUL (total time: 0 seconds)

Kan någon förklara hur b blir till -24? byte är förlitet ja men varför just -24?

Det finns 256 olika värden på en byte, de sträcker sig mellan -128 och 127. Därför kommer värdet att gå i cirklar mellan dessa gränser. Varje gång det du matar in är jämnt delbart med 256 kommer det ha värdet 0. 1000 består av 3 hela 256:or, så dem kan vi ta bort direkt. Kvar har vi då 232, vilket är för stort för att passa mellan -128 och 127 så vi tar bort 256 en gång till och får då 232-256 = -24 som passar inom gränserna. Datorn räknar inte ut det på samma vis, men det är ungefär det som händer.

Skrivet av walkinpark:

Om det står såhär

double x = 1.23456792E8 är den förkortad eftersom E är med eller kan man förkorta den, isåfall hur?

Det är förenklat och klart.

Corsair Vengeance LPX 2x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Trädvy Permalänk
Inaktiv
Registrerad
Jan 2016

Rensa inmatningsbuffert på netbeans?

är denna kod System.in.read(); ? det enda man gör är att skriver en sådan efter t.ex. en variabel, det är inget annat sätt?

char c2 = (char) System.in.read();
System.in.read(); //detta är rensningen?

Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Okt 2011
Skrivet av walkinpark:

Rensa inmatningsbuffert på netbeans?

är denna kod System.in.read(); ? det enda man gör är att skriver en sådan efter t.ex. en variabel, det är inget annat sätt?

char c2 = (char) System.in.read();
System.in.read(); //detta är rensningen?

System.in är en InputStream, dvs där all data in till programmet från användaren går. read(); läser nästa byte med data från strömmen, det rensar inget.

https://docs.oracle.com/javase/7/docs/api/index.html?overview...
https://docs.oracle.com/javase/7/docs/api/java/io/InputStream...

Corsair Vengeance LPX 2x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Trädvy Permalänk
Inaktiv
Registrerad
Jan 2016

@gaminggirl:

rensar detta:

in.nextLine(); // Det rensar inmantsningsbufferten som man ska ha efter att man skrivit grejer?

Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Okt 2011
Skrivet av walkinpark:

@gaminggirl:

rensar detta:

in.nextLine(); // Det rensar inmantsningsbufferten som man ska ha efter att man skrivit grejer?

Jag vet inte vad du ska använda, men inte kommandon som försöker läsa in mer data till ditt program. Säger som jag sa i PM, titta i din bok eller fråga din lärare. Tyckte uppgiften verkade otydlig.

Skickades från m.sweclockers.com

Corsair Vengeance LPX 2x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)