Del 20. öppna informationen

För att detta ska funka behöver du en txt fil i din build map.
import java.io.*;
public class Main {
public static void main(String[] args)
{
System.out.println("Filens namn?");
String fil = Keyboard.readString();
try
{
FileReader fr = new FileReader(fil);
BufferedReader inFil = new BufferedReader(fr);
String rad = inFil.readLine();
while (rad != null)
{
System.out.println(rad);
rad = inFil.readLine();
}
inFil.close();
}
catch(FileNotFoundException el)
{
System.out.println("Filen hittades inte");
}
catch(IOException e2)
{
System.out.println(e2);
}
}
}
import java.io.*;
public class Main {
public static void main(String[] args)
{
System.out.println("Filens namn?");
String fil = Keyboard.readString();
try
{
FileReader fr = new FileReader(fil);
BufferedReader inFil = new BufferedReader(fr);
String rad = inFil.readLine();
while (rad != null)
{
System.out.println(rad);
rad = inFil.readLine();
}
inFil.close();
}
catch(FileNotFoundException el)
{
System.out.println("Filen hittades inte");
}
catch(IOException e2)
{
System.out.println(e2);
}
}
}
Först ska vi skriva in filens namn. Du måste skiva exakt vad den heter. även att det är .txt. kund.txt t.ex.
FileReader fr = new FileReader(fil);
BufferedReader inFil = new BufferedReader(fr);
String rad = inFil.readLine();
while (rad != null)
{
System.out.println(rad);
rad = inFil.readLine();
}
inFil.close();
Här läser vi in informationen. den kommer fortsätta läsa en rader så länge de har ett värde. så när det kommer en tom rad så kommer den sluta läsa in data.
catch(FileNotFoundException el)
{
System.out.println("Filen hittades inte");
}
catch(IOException e2)
{
System.out.println(e2);
}
Har har vi 2 alternativ på vad som ska hända.
Om den inte hittar något ska den skriva ut "Filen hittades inte".
Om den hittar filen så skriver den ut allt.

Del 19. Att spara information

Nu ska vi spara information! Vi kommer spara några namn med nummer i text fil. Det är inte så mycket mer än så!
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException
{
String fil = "kund.txt";
FileWriter fw = new FileWriter(fil);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter utFil = new PrintWriter(bw);
for (int i = 0; i < 3; i++)
{
System.out.println("Nummer: ");
int nummer = Keyboard.readInt();
System.out.print("Namn: ");
String namn = Keyboard.readString();
utFil.println(nummer + "\t" + namn);
}
utFil.close();
}
}
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException
{
String fil = "kund.txt";
FileWriter fw = new FileWriter(fil);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter utFil = new PrintWriter(bw);
for (int i = 0; i < 3; i++)
{
System.out.println("Nummer: ");
int nummer = Keyboard.readInt();
System.out.print("Namn: ");
String namn = Keyboard.readString();
utFil.println(nummer + "\t" + namn);
}
utFil.close();
}
}
Bara en klass behövs här.
String fil = "kund.txt"; här bestämer vi namnet för filen
FileWriter fw = new FileWriter(fil);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter utFil = new PrintWriter(bw);
Detta behövs för att vi ska kunna skapa och spara filen.
System.out.println("Nummer: ");
int nummer = Keyboard.readInt();
System.out.print("Namn: ");
String namn = Keyboard.readString();
utFil.println(nummer + "\t" + namn);
I for loopen så skriver vi in 3 nummer och  3 namn.
utFil.println(nummer + "\t" + namn); här sparar informationen i filen
och sen sist i utFil.close(); så stänger vi filen. all information är sparad, och filen bör finnas i build

Del 18. Utväljande sortering

Så varför en till sortering? För att fortsätta jobba med klasser! men den här fungerar anorlunda än den föra.
Bubbelsortering jemför bara ett tal med nästa tal i serien. säg att vi har en väldigt lång serie med tal och bara första och sista behöver byta plats. Sorteringen blir jätte lång, sen ska dras igenom lika många gånger som antalet tal.
Utväljande jemför ett tal med alla tal, sen byter plats. Plus att när den har gåt igenom första talet, so jemför den andra talet med alla efter den. så det krävs en mycket mindre mängd sorteringar. Detta kanske inte gör så stor skillnad för oss, men för att hantera en större databas, kan en bubbelsorting vara krävande.
Första klassen
public class Main {
public static void main(String[] args)
{
double[] vikt = new double[20];
System.out.println("Mata in, avsluta med 0:");
int temp = Keyboard.readInt();
int antal = 0;
while (temp != 0)
{
vikt[antal] = temp;
antal++;
System.out.print("Mata in ett nytt tal");
temp = Keyboard.readInt();
}
Sort.utvSort(vikt, antal);
for(int i = 0; i < antal; i++)
{
System.out.println(vikt[i]);
}
}
}
För att skriva in talen använder vi en while loop. != betyder skillt ifrån. Så länge temp inte är 0, kommer vi fortsätta skriva in nya tal. Sen i Sort.utvSort(vikt, antal); skriver vi in att vi ska skicka med 2 variabler.
Andra klassen
public class Sort
{
public static void utvSort(double data[], int antal)
{
for (int m = 0; m < antal; m++)
{
int position = m;
for(int n = m+1; n < antal; n++)
{
if(data[n] < data[position])
{
position = n;
}
}
if (m != position)
{
double temp = data[m];
data[m] = data[position];
data[position] = temp;
}
}
}
}
public static void utvSort(double data[], int antal). här tar vi emot våra värden vi skicka från mai.
Den ända som skiljer den här sorteringen med den gamla, är att gjort så den jemför som jag beskrev åvan för.
Det viktiga är att försöka förtså koden
ublic class Main {
public static void main(String[] args)
{
double[] vikt = new double[20];
System.out.println("Mata in, avsluta med 0:");
int temp = Keyboard.readInt();
int antal = 0;
while (temp != 0)
{
vikt[antal] = temp;
antal++;
System.out.print("Mata in ett nytt tal");
temp = Keyboard.readInt();
}
Sort.utvSort(vikt, antal);
for(int i = 0; i < antal; i++)
{
System.out.println(vikt[i]);
}
}
}

Del 17. Mer sorteringar!

Detta exempel är nästan exakt likadan som det föra, den ända skillnaden är att vi ska nu sortera efter bokstäver, och inte nummer.
Detta är ett också en såkallad bubbelsorting som den föra.
Den första klassen
public class Main {
public static void main(String[] args)
{
String[] tellista = {"Bo 14145", "Ulf 55753", "Derp 87532", "kek 67082", "pelle 57126"};
Sort.bubbelSort(tellista);
System.out.println("Sorterade namn");
for(int i = 0; i < 4; i++)
{
System.out.println(tellista[i]);
}
}
public class Main {
public static void main(String[] args)
{
String[] tellista = {"Bo 14145", "Ulf 55753", "Derp 87532", "kek 67082", "pelle 57126"};
Sort.bubbelSort(tellista);
System.out.println("Sorterade namn");
for(int i = 0; i < 4; i++)
{
System.out.println(tellista[i]);
}
}
Andra klassen
public class Sort
{
public static void bubbelSort(String data[])
{
for(int m = data.length-1; m > 0; m--)
{
for(int n = 0; n < m; n++)
{
if(data[n].compareTo(data[n+1])> 0)
{
String temp = data[n];
data[n] = data[n+1];
data[n+1] = temp;
}
}
}
}
Dett ända som är anorlunda mott den föra är att det står
if(data[n].compareTo(data[n+1])> 0)
Istället för
if(data[n] > data[n+1])
Compare to är om ska använda strängar istället för int/double
Nästa gång ska jag gå igenom en ny form av sorteringar.

Del 16. Klasser och sorteringar

VI ska fortsätta med klasser, Men också med något nytt! Det vi ska göra nu är sortera nummer, genom att använda en klass. alla nummer är redan bestämda i en ordning. vi ska använda klassen för att ändra ordning på dem.
Vi kommer använda 2 klasser som föra gången. I den första kommer vi skapa våra nummer, och sen skriva ut dem. I vår andra klass kommer vi sortera våra nummer. Det är inte mycker svårare än så!
Första klassen
public class Main {
public static void main(String[] args)
{
double[] vikt = {67, 45, 678, 1, 777};
Sort.bubbelSort(vikt);
System.out.println("5 sorterade tal");
for(int k=0; k < 5; k++)
{
System.out.println(vikt[k]);
}
}
}
public class Main {
public static void main(String[] args)
{
double[] vikt = {67, 45, 678, 1, 777};
Sort.bubbelSort(vikt);
System.out.println("5 sorterade tal");
for(int k=0; k < 5; k++)
{
System.out.println(vikt[k]);
}
}
}
Det är inget nytt här. vi skickar alla värden i vikt till klassen med Sort.bubbelSort(vikt);
Sedan skriver vi ut alla värden vikt
Den andra Klassen
public class Sort
{
public static void bubbelSort(double data[])
{
for(int m = data.length -1; m > 0; m--)
{
for(int n = 0; n < m; n++)
{
if(data[n] > data[n+1])
{
double temp = data[n];
data[n] = data[n+1];
data[n+1]=temp;
}
}
}
}
}
I grund och botten så jemför den ett tal med ett annat. Om det tal n är större än n+1, så byter de plats.
Den första for loopen sätter vi hur många gånger den ska köras igenom.
I den nästa har vi ett värde som ska börja på 0, och öka allt eftersom.
Sedan jemför vi data[n] och data[n+1]. Om data[n] är större än data[n+1], så byter de plats.
temp är bara en variabel som vi använder för att få dem att byta plats. Det är nog inte så svårt att att förstå själva bytet.
Sen fortsätter den köra igenom allt, så den jämfört alla tal.
sedan skriver den ut talen i sorterad ordning.

Del 15. Klasser

En stor del i Java är klasser. klasser är grund och botten, en till fil med kod i. Varför behövs det? Det som är bra med klasser är att man använda dem flera gånger, eller binda en funktion till något. I denna fil har vi 2 filer!
Den första klassen är den vanliga projekt klassen.
Den andra heter Klass, klicka på file och sen add new file.
se till att att båda klasserna ligger i samma map i netbeans.
public class Projekt
{
public static void main(String[] args)
{
System.out.println("Vad vill du skriva ut?");
String k = Keyboard.readString();
Klass m = new Klass(k);
System.out.println("du skrev in!");
m.skriv();
}
}
public class Projekt
{
public static void main(String[] args)
{
System.out.println("Vad vill du skriva ut?");
String k = Keyboard.readString();
Klass m = new Klass(k);
System.out.println("du skrev in!");
m.skriv();
}
}
Den andra klassn
public class Klass
{
public String g;
public Klass(String k)
{
g = k;
}
public void skriv()
{
System.out.println(g);
}
}
Så vad är nytt? igentligen inte så mycket.
Klass m = new Klass(k);
Här startar vi vår andra klass. vi skickar med meningen i k.
public String g;
I klassen så måste vi först skapa en ny string i klassen. public kommer jag beskriva senare, för tillfället ha bara med det.
public Klass(String k)
{
g = k;
}
allt vi gör här är att ge vår nya string värdet från vår gamla.
public void skriv()
{
System.out.println(g);
}
vi gör en funktion som skriver ut vår nya string.'
void betyder attt den inte ska returna ett värde. om vi skulle ändra något, ska man ta bort void.
m.skriv();
och sen i huvudklassen så aktiverar vi vår funktion!

Del 14. Metoder

Metoder är, i grund och botten, en till funktion i din main fil.
Syftet med metoder är att kunna ha fler metoder, detta kan man använda klasser till igentligen.
Men det är bra att kunna metoder också.
Här har vi ett exempel på en metod
public class Projekt
{
public static void main(String[] args)
{
System.out.println("hur läng är sidan på en kube?");
int sida = Keyboard.readInt();
int area = kub(sida);
System.out.print("arean är: " + area);
}
static int kub(int x)
{
int y = x*x;
return y;
}
}
public class Projekt
{
public static void main(String[] args)
{
System.out.println("hur läng är sidan på en kube?");
int sida = Keyboard.readInt();
int area = kub(sida);
System.out.print("arean är: " + area);
}
static int kub(int x)
{
int y = x*x;
return y;
}
}
Det är inte så mycket nytt här igentligen. Metoden här är static int kub. i main så säger vi att int area ska vara
kub(sida). vi skickar med värdet sida, och använder sedan det värdet i metoden. vi skappar y, ger den ett värde och skriver sedan return y. detta är här vi bestämmer att area får värdet y.
I övrigt, notera att metoden ligger utanför main.

Del 13. Do satser

Do och while är rätt lika, skillnad är att do alltid kommer köras en gång, hur man än gör.
Så Do är behövs ganska sällan, men ibland hittar man när den  behövs.
Följande är ett exempel på do sats.
i slutet behövs en while för att kolla ifall den ska köras igen eller inte.
Denna kod kommer loopa sig själv, men om du vill ändra det så borde det inte vara så svårt.
public class Projekt
{
public static void main(String[] args)
{
char kek = 'k';
do
{
System.out.println("en do sats!");
System.out.println("kek!");
}while (kek == 'k');
}
}
public class Projekt
{
public static void main(String[] args)
{
char kek = 'k';
do
{
System.out.println("en do sats!");
System.out.println("kek!");
}while (kek == 'k');
}
}

Del 12. söka efter bokstäver!

I detta exempel ska vi ta en titt på en sätt att jämföra string och char. Mer precis så ska vi kolla hur många av ett speciellt tecken vi kan hitta i ett ord. Vi har två nya sorters kod, den ena är text.length(). Detta blir ett nummer, numret kommer vara antalet tecken i stringen text.

text.charAt(i) blir den char vid position i, i stringen text. Sen i for loopen så plussar vi på antal med ett om tecken vid text.charAt(i) är det vi söker.

 

public class Main {

public static void main(String[] args)

{

System.out.println("Mata in din sträng");

String text = Keyboard.readString();

 

System.out.println("Ange tecken");

char tecken = Keyboard.readChar();

 

int antal = 0;

for(int i = 0; i < text.length(); i++)

{

if(tecken == text.charAt(i))

{

antal++;

}

}

System.out.println("antal " + tecken + ": " + antal);

}

}


Del 11. Switch

Det som skiljer switch och if, är att if behöver ett vilkor för att köras. Och switch är bara att du väljer. du kan använda if som en switch, men metoden finns. i varje case'(Ditt val)' är variabeln som krävs för att den koden ska köras. i slutet av varje case ska man även skriva break; Switch har ingen else funktion, så något måste väljas, annars körs inget.
Ett exempel på en switch
public class Projekt
{
public static void main(String[] args)
{
char val;
System.out.println("1, 2 eller 3?");
val = Keyboard.readChar();
switch(val)
{
case'1':
System.out.println("du valde 1!");
break;
case'2':
System.out.println("du valde 2!");
break;
case'3':
System.out.println("du valde 3!");
break;
}
}
}
public class Projekt
{
public static void main(String[] args)
{
char val;
System.out.println("1, 2 eller 3?");
val = Keyboard.readChar();
switch(val)
{
case'1':
System.out.println("du valde 1!");
break;
case'2':
System.out.println("du valde 2!");
break;
case'3':
System.out.println("du valde 3!");
break;
}
}
}

Del 10. Mer sett att kombinera olika saker

I denna kod har jag använder jag if satser i en while loop. Fördelen är att koden kommer alltid att köras igenom, tills jag säger att den ska sluta. Det är viktigt att variabeln summa är utanför while loopen.  Om summa hade varit i while loopen, då hade summa varit 1000 varje gång loopen kördes igen. I övrigt så är det inget nytt i koden, förutom switch. Som jag kommer prata om i nästa del. Detta är bara ett till exempel på hur man kan kombinera olika funktioner.

public class Bankomat {
public static void main(String[] args) {
int summa = 1000;
boolean derp = true;
while (derp)
{
System.out.println("1 för insättning");
System.out.println("2 för uttag");
System.out.println("3 för visa behållning");
char vad = Keyboard.readChar();
switch(vad){
case '1':
System.out.println("hur mkt ska sättas in");
int in = Keyboard.readInt();
summa = summa + in;
break;
case'2':
System.out.println("hur mkt ska tas ut?");
int ut = Keyboard.readInt();
summa = summa - ut;
break;
case'3':
System.out.print("du har ");
System.out.print(summa);
System.out.println("kr");
break;
case'4':
derp = false;
}
}
}
}
public class Bankomat {
public static void main(String[] args) {
int summa = 1000;
boolean derp = true;
while (derp)
{
System.out.println("1 för insättning");
System.out.println("2 för uttag");
System.out.println("3 för visa behållning");
char vad = Keyboard.readChar();
switch(vad){
case '1':
System.out.println("hur mkt ska sättas in");
int in = Keyboard.readInt();
summa = summa + in;
break;
case'2':
System.out.println("hur mkt ska tas ut?");
int ut = Keyboard.readInt();
summa = summa - ut;
break;
case'3':
System.out.print("du har ");
System.out.print(summa);
System.out.println("kr");
break;
case'4':
derp = false;
}
}
}
}

Del 8. Exempel på grejer i if satser

Detta är bara ett exempel på hur man kand använda if satser. Detta är en for loop i en if sats. Nästan all kod gör att infoga i if satser. Så om man vill göra olika saker med ett program, if satser kan vara bra för dig!
public class Projekt
{
public static void main(String[] args)
{
int varv;
int varv2;
System.out.println("hur många varv? måste vara minst 20");
varv = Keyboard.readInt();
if(varv == 20 || varv > 20)
{
for(int i = 0; i < varv; i++)
{
varv2 = i+1;
System.out.println("Varv: " + varv2);
}
}
else
{
System.out.println("Mer antal varv behövs!");
}
}
}
public class Projekt
{
public static void main(String[] args)
{
int varv;
int varv2;
System.out.println("hur många varv? måste vara minst 20");
varv = Keyboard.readInt();
if(varv == 20 || varv > 20)
{
for(int i = 0; i < varv; i++)
{
varv2 = i+1;
System.out.println("Varv: " + varv2);
}
}
else
{
System.out.println("Mer antal varv behövs!");
}
}
}

Del 7. Mer if satser

If satser Kan användas till att kolla ifall t.ex. värden stämmer och ifall de gör det, gör detta.

Man kan jämföra stringar, char, int med mera. I varje if så kan även bestämma vad den ska göra. Och om villkoret för den blir san, så kommer koden i den satsen att köras, och bara den.

Det finns 3 olika if, den första är bara if(villkor), som måste vara den första.

Sen kommer else if(villkor), den ska jämföra om den föra inte blev san.

Och else, om inget villkor blir sant, så körs den istället.

public class Projekt
{
public static void main(String[] args)
{
String anv;
String lösen;
System.out.println("Användarnamn");
anv = Keyboard.readString();
System.out.println("Lösenord");
lösen = Keyboard.readString();
if(anv == "Rasmus" && lösen == "katt")
{
System.out.println("Svaret på allt är 42!");
}
else if(anv == "Greger" && lösen == "hund")
{
System.out.println("Bannad användare!");
}
else
{
System.out.println("Åtkomst nekad!");
}
}
}
public class Projekt
{
public static void main(String[] args)
{
String anv;
String lösen;
System.out.println("Användarnamn");
anv = Keyboard.readString();
System.out.println("Lösenord");
lösen = Keyboard.readString();
if(anv == "Rasmus" && lösen == "katt")
{
System.out.println("Svaret på allt är 42!");
}
else if(anv == "Greger" && lösen == "hund")
{
System.out.println("Bannad användare!");
}
else
{
System.out.println("Åtkomst nekad!");
}
}
}

Del 6. While loopar och if satser

Nästa loop är while loopen. Denna fungerar lite annorlunda än en for loop. Grund iden är att den behöver ett villkor för att köras. Som att ett visst tal måste vara under x, en string måste vara ett speciellt ord eller liknande. En annan metod är att använda en boolean. En boolean är ett varibel som antingen är falsk eller san, den kan inte hålla några värden eller andra saker. Detta kommer vi använda for vår while loop. Först måste vi definiera den och säga att den är san, det gör vi med följande mening,

boolean kek = true;

kek är varibel namnet, och vi har satt den till true. Man kan också skriva false i början, men i detta exempel behöver kek vara true.

package projekt;

 

public class Projekt

{

 

public static void main(String[] args)

{

int[] anArray;

anArray = new int[30];

int k = 0;

char t;

 

boolean kek = true;

 

while(kek)

{

System.out.println("Skriv in ett tal");

anArray[k] = Keyboard.readInt();

 

 

System.out.println("skriva in fler tal?");

System.out.println("J/N");

t = Keyboard.readChar();

 

if(t == 'J')

{

kek = true;

k++;

}

else

{

kek = false;

k++;

}

}

for(int i = 0; i < k; i++)

{

System.out.print(anArray[i] + " ");

}

}

}

Vi har även en ny grej som heter if, här frågar vi om char t är ett ja eller nej. Och om det blir nej, så kommer loopen fortsätta, eftersom så länge kek är true kommer koden köras igen och igen.  När vi sen tar nej, så kommer koden avslutas och alla tal kommer skrivas ut.


Del 5. Loopar, fortsättning!

int[] anArray; detta är en array! med denna kan man spara flera int i en och samma variabel.
anArray = new int[10]; är bestämmer vi max antalet i våran array.
Sen i for loopen så ger vi varje fält i arrayen ett värde.
med denna och liknadne metoder, är det väldigt enkelt att mata in många antal värden och sedan skriva ut dem!
public class Projekt
{
public static void main(String[] args)
{
int[] anArray;
anArray = new int[10];
System.out.println("hur många varv ska loopen gå?");
int val = Keyboard.readInt();
for(int n = 0; n < val; n++)
{
System.out.println("skirv in ett tal");
anArray[n] = Keyboard.readInt();
}
for(int i = 0; i < val; i++)
{
System.out.print(anArray[i] + " ");
}
}
}
public class Projekt
{
public static void main(String[] args)
{
int[] anArray;
anArray = new int[10];
System.out.println("hur många varv ska loopen gå?");
int val = Keyboard.readInt();
for(int n = 0; n < val; n++)
{
System.out.println("skirv in ett tal");
anArray[n] = Keyboard.readInt();
}
for(int i = 0; i < val; i++)
{
System.out.print(anArray[i] + " ");
}
}
}

RSS 2.0