Modul 5 - Valg og løkker
Fra Hiofwiki
Her skal Gruppe 5 og Gruppe 6 legge ut løsningsforslag
Innhold |
[rediger]
Gruppe 5 løsnings forslag
[rediger]
Del 1
[rediger]
Oppgave 1
public static void main(String[] args) {
String alderLest = JOptionPane.showInputDialog("Skriv inn alder:");
int alder = Integer.parseInt(alderLest);
if (alder<16)
System.out.println("Er ikke gammel nok til å kjøre moped");
else
System.out.println("Er gammel nok til å kjøre moped");
}
[rediger]
Oppgave 2
public static void main(String[] args) {
//Bruker skriver inn alder
String alderLest = JOptionPane.showInputDialog("Skriv inn alder:");
//Konverterer til desimal
int alder = Integer.parseInt(alderLest);
//Sjekker alder
if (alder>=18)
System.out.println("Du kan kjøre bil");
else
if (alder>=16)
System.out.println("Kan kjøre moped");
else
if (alder>=1)
System.out.println("Kan gå eller sykle tråsykkel");
else
System.out.println("Du er n00b");
}
[rediger]
Oppgave 3
Class (oppgave3class)
/*
* oppgave3class.java
*/
package modul05;
public class oppgave3class {
//Deklareringer
private int tall;
//Konstruktør
public oppgave3class(int nyTall) {
tall = nyTall;
}
//Sjekker om tallet er positivt
public boolean erPositiv() {
if (tall > 0)
return true;
else
return false;
}
//Sjekker om tallet er høyere en et angitt tall
public boolean erStorreEnn(int nyGrense) {
if (nyGrense < tall)
return true;
else
return false;
}
//Sjekker om tallet er innenfor angitt intervall
public boolean innenforIntervall(int nedre, int ovre) {
if ((tall < nedre) || (tall > ovre))
return false;
else
return true;
}
//Sjekker om tallet er delelig på angitt tall
public boolean erDelelig(int delesPaa) {
int rest = tall%delesPaa;
if (rest>0)
return false;
else
return true;
}
//Sjekker om tallet er en bokstav i UNICODE-tabellen
public boolean erBokstav() {
if (
((tall >= 65) && (tall <= 90)) || //A til Z
((tall >= 97) && (tall <= 122)) || //a til z
((tall >= 197) && (tall <= 198)) || //Å og Æ
((tall >= 229) && (tall <= 230)) || //å og æ
(tall == 216) || //Ø
(tall == 248) //ø
)
return true;
else
return false;
}
public boolean erPartall() {
int rest = tall%2;
if (rest>0)
return false;
else
return true;
}
}
Main (oppgave3main)
/*
* oppgave3main.java
*/
package modul05;
import javax.swing.JOptionPane;
public class oppgave3main {
/** Creates a new instance of oppgave3main */
public oppgave3main() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String tallLest = JOptionPane.showInputDialog("Skriv inn tall:");
int tallKon = Integer.parseInt(tallLest);
//Oppretter objekter
oppgave3class tall = new oppgave3class(tallKon);
//Sjekker om tallet er positivt
System.out.println("Tallet er positivt: " + tall.erPositiv());
//Sjekker om tallet er større enn angitt verdi
System.out.println("Tallet er større: " + tall.erStorreEnn(11));
//Sjekker om tallet er innenfor angitt verdi
System.out.println("Tallet er innenfor intervallet: " + tall.innenforIntervall(5, 15));
//Sjekker om tallet er delelig
System.out.println("Tallet er delelig: " + tall.erDelelig(5));
//Sjekker om tallet er en bokstav i UNICODE-tabellen
System.out.println("Tallet tilsvarer en bokstav i UNICODE: " + tall.erBokstav());
//Sjekker om tallet er et partall
System.out.println("Tallet er et partall: " + tall.erPartall());
}
}
[rediger]
Del 2
[rediger]
Oppgave 1 og 2
public static void main(String[] args) {
//Teller til 100
for (int teller = 0; teller <100; teller ++ ){
System.out.println(teller + 1);
}
//baklengs
for (int teller = 101; teller >0; teller -- ){
System.out.println(teller - 1);
}
//0.5
for (double teller = 0; teller <100; teller ++ ){
System.out.println(teller / 2);
}
[rediger]
Oppgave 3
public static void main(String[] args) {
//Deklareringer
int faktor1 = 1;
int faktor2 = 1;
//Skriver til skjerm
for (faktor1 = 1; faktor1 <= 10; faktor1=faktor1+1) {
for (faktor2 = 1; faktor2 <= 10; faktor2=faktor2+1) {
System.out.println(faktor1 + "*" + faktor2 + "=" + faktor1*faktor2);
}
}
}
[rediger]
Oppgave 4
public static void main(String[] args) {
//Deklareringer
int faktor1;
int faktor2;
int radteller = 0;
//Skriver til skjerm
for (faktor1 = 1; faktor1 <= 10; faktor1=faktor1+1) {
for (faktor2 = 1; faktor2 <= 10; faktor2=faktor2+1) {
radteller++;
if (radteller%10 == 0) {
System.out.println(faktor1 + "*" + faktor2 + "=" + faktor1*faktor2);
radteller = 0;
}
else {
System.out.print(faktor1 + "*" + faktor2 + "=" + faktor1*faktor2 + "\t\t");
}
}
}
}
[rediger]
Gruppe 6 løsnings forslag
[rediger]
Del 1
[rediger]
Oppgave 1&2
public static void main(String[] args) {
String mopedInn = JOptionPane.showInputDialog("Hvor gammel er du?");
double mopedAlder = Double.parseDouble(mopedInn);
if (mopedAlder >= 18)
{
JOptionPane.showMessageDialog(null, "Kan kjøre bil");
}
else if (mopedAlder >= 16)
{
JOptionPane.showMessageDialog(null, "Er ikke gammel nok til å kjøre moped");
}
else {
JOptionPane.showMessageDialog(null, "Kan gå eller sykle tråsykkel");
}
}
[rediger]
Oppgave 3
package oppgave3;
public class tallAnalyse {
private double tall;
/** Konstruktør */
public tallAnalyse(double startTall) {
tall = startTall;
}
//Metoder starter her
//Metode for å hente tall
public double hentTall(){
return tall;
}
//Metode for å sette tall
public void settTall(double nyttTall){
tall = nyttTall;
}
//Metode for å sjekke om et tall er positivt
public boolean erPositivt(){
if(tall >= 0){
return true;
}
else {
return false;
}
}
//Metode for å sjekke om et tall er større enn et angitt tall
public boolean erStorreEnn(double sammenlignTall){
if (sammenlignTall < tall){
return true;
} else {
return false;
}
}
//Metode for å sjekke om et tall er innenfor et angitt intervall
public boolean innenforIntervall(double nedreGrense, double ovreGrense){
if (tall > nedreGrense && tall < ovreGrense) {
return true;
} else {
return false;
}
}
//Metode for å sjekke om et tall er delelig med et gitt tall
public boolean erDelelig(double nevnerTall){
if (tall%nevnerTall == 0) {
return true;
} else {
return false;
}
}
//Metode for å sjekke om et tall er en unicode-bokstav
public boolean erUnicodeBokstav(){
if ((tall <= 90 && tall >= 65) || (tall <= 122 && tall >= 97) || (tall == 230) || (tall == 248) || (tall == 198) || (tall == 216) || (tall == 197)) {
return true;
} else {
return false;
}
}
//Metode for å sjekke om et tall er et partall
public boolean erPartall(){
if (tall%2 == 0) {
return true;
} else {
return false;
}
}
}
[rediger]
Oppgave 4
public static void main(String[] args) {
//ber brukeren skrive inn navn, konverterer dette til små bokstaver og tar vekk mellomrom
String navn = JOptionPane.showInputDialog("Skriv fornavnet ditt her");
String smaaNavn = navn.toLowerCase();
String trimNavn = smaaNavn.trim();
// sjekker om navnet tilhører listen over fine navn
if(trimNavn.equals("thomas") || trimNavn.equals("morten") || trimNavn.equals("harald") || trimNavn.equals("gro") || trimNavn.equals("kristin") || trimNavn.equals("karoline"))
{
JOptionPane.showMessageDialog(null, trimNavn +", det var et fint navn!");
} else {
JOptionPane.showMessageDialog(null, trimNavn +", det var et stygt navn!");
}
}
[rediger]
Oppgave 5
Klassen
package oppgave5;
//ny klasse
public class Person {
private String navn;
private String adresse;
private String personnummer;
//konstruktør
public Person(String startNavn, String startAdresse, String startPersonnummer) {
navn = startNavn;
adresse = startAdresse;
personnummer = startPersonnummer;
}
//metoder
//metode for sammenlikning av personer
public boolean equals(Object enPerson)
{
Person p = (Person)enPerson;
Boolean like = (personnummer == p.personnummer);
return like;
}
}
test klient
public static void main(String[] args) {
//lager to nye person-objekter
Person p1 = new Person("thomas", "majorstien 5", "3232");
Person p2 = new Person("kristin", "majorstien 21", "3232");
//sammenlikner person-objektene
if (p1.equals(p2))
{
System.out.println("Dette er samme person");
} else {
System.out.println("Dette er ikke samme person");
}
}
[rediger]
Oppgave 6
Klassen
package oppgave6;
public class merke {
private String navn;
private double vekt;
private double pris;
private double prisPerGram;
//konstruktør
public merke(String startNavn, double startVekt, double startPris) {
navn = startNavn;
vekt = startVekt;
pris = startPris;
prisPerGram = pris/vekt;
}
//metoder
//metode for å hente navn
public String hentNavn()
{
return navn;
}
//metode for å sammenligne pris per gram
public boolean sammenlignPrisPerGram(Object etMerke)
{
merke m = (merke)etMerke;
if (prisPerGram > m.prisPerGram)
{
return true;
} else {
return false;
}
}
}
Test klient
package oppgave6;
public class oppgave6test {
public oppgave6test() {
}
public static void main(String[] args) {
//lage merke A og B
merke m1 = new merke("A", 450, 35.90);
merke m2 = new merke("B", 500, 39.50);
//hente navn
String navn1 = m1.hentNavn();
String navn2 = m2.hentNavn();
//sammenligne kilopris og rapportere hvem som er billigst
if(m1.sammenlignPrisPerGram(m2) == true)
{
System.out.println("Merke " + navn1 + " er billigere enn merke " + navn2);
} else {
System.out.println("Merke "+ navn2 + " er billigere enn merke " + navn1);
}
}
}
[rediger]
Del 2
[rediger]
Oppgave 1
public static void main(String[] args) {
//setter telleren lik -1
int teller = -1;
//gir teller +1 og skriver ut resultatet så lenge teller <100
while (teller<100) {
teller = teller+1;
System.out.println(teller);
}
}
[rediger]
Oppgave 2
public static void main(String[] args) {
//Fra 100 til 0.
int teller1=101;
while (teller1>=1) {
teller1 = teller1-1;
System.out.println(teller1);
}
//0-50 med 0.5 intervaller.
double teller2=-0.5;
while (teller2<50.5) {
teller2=teller2+0.5;
System.out.println(teller2);
}
//tall delelige med 3
int teller3=1;
while (teller3<100) {
teller3=teller3+2;
System.out.println(teller3);
teller3++;
}
//partall
int teller4=0;
while (teller4<101) {
if (teller4%2 ==0) {
System.out.println(teller4);
}
teller4++;
}
//Oddetall
int teller2 = 1;
while (teller2 <100)
{
if( teller2%2 == 1){
System.out.println(teller2);
}
teller2++;
}
//annenhvert tall positivt og negativt
int teller3 = 0;
while(teller3 < 100)
{
if (teller3%2 ==0)
{
System.out.println(teller3);
} else {
System.out.println(-teller3);
}
teller3++;
}
}
[rediger]
Oppgave 3+4
public static void main(String[] args) {
int faktor1;
int radteller = 0;
for(faktor1 = 1; faktor1 <= 10; faktor1=faktor1+1)
{
int faktor2;
for (faktor2 = 1; faktor2 <= 10; faktor2=faktor2+1)
{radteller++;
if(radteller%10 == 0)
{
System.out.println(faktor1 + "*" + faktor2 + "=" + (faktor1*faktor2));
} else if ((faktor1 == 10))
{
System.out.print(faktor1 + "*" + faktor2 + "= "+ (faktor1*faktor2) + "\t");
} else
{
System.out.print(faktor1 + "*" + faktor2 + "= "+ (faktor1*faktor2) + "\t\t");
}
}
}
}
