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] + " ");
}
}
}
Del 4. For loopar
For loopar är väldigt användbara för när man ska göra väldigt många inmatningar, eller utskrifter. Eller bara när man ska göra mycket av nånting, så brukar loppar vara bra att använda.
En loop är en funktion som körs flera gånger och använder en räknare för att se hur många gånger den ska loopa.
I detta inlägg så tänker jag vissa grunden för att göra en for loop, och senare vissa hur man kan använda den med inmatning/utskrift och andra används områden. Varför jag inte visar hur man gör det än är för jag tycker det är bäst att vissa saker steg för steg, istället för att direkt gå in på det mer invecklade.
public class Projekt
{
public static void main(String[] args)
{
System.out.println("hur många varv ska loopen gå?");
int val = Keyboard.readInt();
for(int i = 0; i < val; i++)
{
System.out.println(i+1);
}
}
}
i < val; i++ betyder att så länge i är mindre än val, så kommer i växa med 1.
Sedan så skriver vi ut i. om det inte står +1 på i så visar den numren 0 till 9, vilket är helt korrekt. Det är fortfarande 10 utskrifter, bara att det är 0 till 9. Med i +1, så blir det 1 till 10. Båda är korrekt, men med i+1 så ser man klart antalet utskrifter.