Programmering
Är det någon här inne som kan programmering och skulle vilja hjälpa mig? jag har skrivit en egen klass med metoder och sedan skapat ett program till detta, men jag får det inte att fungera. Allt är skrivet i språket java i programmet Eclipse.
Jag vet dock inte hur jag ska få in min "change" metod i själva programmet..
Klassen:
public class Rektangel {
private float längd; // skapar instansvariabeln längd
private float bredd; // skapar instansvariabeln bredd
private float area; // skapar instansvariabeln area
private float omkrets; // skapar instansvariabeln omkrets
public Rektangel(float b,float l) {
längd = 4; // längd = 4
bredd = 6; // bredd = 6
area = (längd*bredd); // area = längd*bredd
omkrets = (2*längd + 2*bredd); // omkrets = 2*längd + 2*bredd
}
public void area(){//metod som anger rektangels area
area = (längd*bredd); // säger till programmet hur arean räknas ut
System.out.println("Arean är " + area ); // ger utskrift på arean
}
public void omkrets(){//metod som anger rektangels omkrets
omkrets = (2*bredd+2*längd); // säger till programmet hur omkretsen räknas ut
System.out.println("Omkretsen är" + omkrets); // ger utskrift på omkretsen
}
public void change(float nylängd, float nybredd){ // metod för att kunna ändra längd och bredd
längd = nylängd; //anger längd till nylängd
bredd = nybredd; // anger bredd till nybredd
}
}
Programmet:
public class testaRektangel {
public static void main(float[] args) {
Rektangel rektangel1 = new Rektangel(4,6); // anropar klassen rektangel och skapar ny rektangel
rektangel1.area(); // anropar metoden area
rektangel1.omkrets(); // anropar metoden omkrets
}
}
Vill du att användaren ska kunna ange "nylängd" och "nybredd" och sedan använda dessa siffror i change-metoden?
I så fall kan du läsa om hur man tar in input i programmet här: http://www.programmingsimplified.com/java/source-code/java-program-take-input-from-user
Sedan använder du bara dessa float-variabler och "skickar med" in i change:
rektangel1.change(nylängd, nybredd);
#1 Jag har testat att lägga in det där
rektangel1.change(nylängd, nybredd);
i mitt program men programmet säger då bara nylängd cannot be resolved to a new variable och samma sak om nylängd
Vi har använt oss av TextIO.getln för att läsa in från användaren
Hur ser din kod ut när du får det felet?
Klassen:
public class Rektangel {
private float längd; // skapar instansvariabeln längd
private float bredd; // skapar instansvariabeln bredd
private float area; // skapar instansvariabeln area
private float omkrets; // skapar instansvariabeln omkrets
public Rektangel(float längd,float bredd) {
längd = 4; // längd = 4
bredd = 6; // bredd = 6
area = (längd*bredd); // area = längd*bredd
omkrets = (2*längd + 2*bredd); // omkrets = 2*längd + 2*bredd
}
public void area(){//metod som anger rektangels area
area = (längd*bredd); // säger till programmet hur arean räknas ut
System.out.println("Arean är " + area ); // ger utskrift på arean
}
public void omkrets(){//metod som anger rektangels omkrets
omkrets = (2*bredd+2*längd); // säger till programmet hur omkretsen räknas ut
System.out.println("Omkretsen är" + omkrets); // ger utskrift på omkretsen
}
public void change(float nylängd, float nybredd){ // metod för att kunna ändra längd och bredd
längd = nylängd; //anger längd till nylängd
System.out.println("Ange ny längd"); //utskrift till användaren om att ange ny längd
nylängd = TextIO.getlnFloat(); // läser in nylängd från tangenbordet
bredd = nybredd; // anger bredd till nybredd
System.out.println("Ange ny bredd"); // utskrift till användaren om att ange ny bredd
nybredd = TextIO.getlnFloat(); // läser in nybredd från tangenbordet
}
}
Programmet:
public class testaRektangel {
public static void main(float[] args) { //main metod av typen float
Rektangel rektangel1 = new Rektangel(4,6); // skapar rektangel1 med en viss bredd och längd
System.out.println("Rektangels sidor är " + 4 + "cm" + 6 + "cm"); // utskrift om bredden och längden
rektangel1.area(); // anropar metoden area för rektangel1
rektangel1.omkrets(); // anropar metoden omkrets för rektangel1
rektangel1.change(nylängd,nybredd); // anropar metoden change för rektangel1
}
}
Ah, man skulle kunna säga att ni använder två olika sätt att koda på just nu.
Berättar om det ena sättet ni kan göra på:
Istället för att hämta input i change-metoden, gör det i programmet innan ni anropar change. Såhär:
System.out.println("Ange ny längd"); //utskrift till användaren om att ange ny längd
float nylängd = TextIO.getlnFloat(); // läser in nylängd från tangenbordet
System.out.println("Ange ny bredd"); // utskrift till användaren om att ange ny bredd
float nybredd = TextIO.getlnFloat(); // läser in nybredd från tangenbordet
rektangel1.change(nylängd, nybredd);
Är det verkligen en bra idé att använda 'ä' i variabelnamn? Det kan ställa till en del tekniska problem.
Medarbetare på Skepticism, Vetenskap och Andlig Skepticism
#6 Ändrat till a
#7 Bra att ni bytte variabelnamn ;) Fick ni koden att fungera?
synd att ifokussajten för programmering försvann, åtminstone finns den ju inte listad över sajter, då hade det funnits expertis där, men det verkar det finnas här också. 👍