Just nu i M3-nätverket
Gå till innehåll

Jompan

Medlem
  • Antal inlägg

    207
  • Gick med

  • Senaste besök

Om Jompan

  • Medlemstitel
    Aktiv
  • Födelsedag 1944-11-12

Profil

  • Kön
    Kvinna
  • Ort
    Katrineholm
  1. Jag väljer hur många tal jag ska slumpa till en talserie mellan 1 och 999. Efter att jag skrivit ut den och sorterat den i fallande serie ska jag plocka ut vilka tal i serien som är jämna. Det funkar, men sen fastnar jag på hur jag ska kunna räkna ut antalet jämna tal. Den kod jag skrivit där skriver inte ut något alls! import java.util.Scanner; public class Problem { public static void main(String[] args) { // Deklarera variabler som behövs int antalNr, sum = 0; // Mata in antal som ska slumpas Scanner matain = new Scanner(System.in); System.out.print("Hur många slumptal i intervallet 0-999 önskas?"); antalNr = matain.nextInt(); matain.nextLine(); // Rensa inmatningsbufferten int[] array = new int[antalNr]; int bredd = array.length; int max = 0; int rad = 0; // Slumpning av talen for (int i = 0; i < bredd; i++) { array[i] = (int) (Math.random() * 1000) + 1; } System.out.println(); System.out.println("Här är de slumpade talen."); // Skriv ut osorterat for (int i = 0; i < antalNr; i++) { System.out.print(array[i] + " "); } System.out.println(); // Sorterar talserien for (int i = 0; i < bredd - 1; i++) { max = i; for (int k = i + 1; k < bredd; k++) { if (array[k] > array[max]) { max = k; } } // Byter plats på två platser i arrayen rad = array[i]; array[i] = array[max]; array[max] = rad; } System.out.println(); System.out.println("Här är de slumpade talen ordnade."); // Skriv ut sorterat for (int i = 0; i < bredd; i++) { System.out.print(array[i] + " "); } System.out.println(); System.out.println(); // Summera talkedjan (för senare koll av resultatet) for (int i = 0; i < array.length; i++) { sum = sum + array[i]; } System.out.println("Summan är " + sum + " och de jämna talen är:"); int[] evenArray = new int[antalNr]; int evenCounter = 0; int[] antalEven = new int[evenCounter]; for (int i = 0; i < array.length; i++) { if (array[i] % 2 == 0) { evenArray[evenCounter] = array[i]; System.out.print(+evenArray[evenCounter] + ", "); evenCounter++; } // int length = antalEven.length; for (int a = 0; a < antalEven.length; a++) { System.out.print("\nAntal " + evenArray[a]); } } } } Är det någon som ser var jag har trasslat till det?
  2. Nu har jag försökt ändra/justera litet. Och resultatet rullar fint såtillvida att siffrorna räknar fram. Men de är just siffror som inte översätts till bokstäver. I stället för A så printas 65, B så printas 66. Hur kan jag få vidare? (Jag var tvungen att lägga in en ny nettovariabel för det inlästa talet, eftersom konsolen visade en rad och en position för mycket.) import java.util.Scanner; public class TestarIgen { public static void main(String[] args) { System.out.println("Ange längden för de två sidorna i den rätvinkliga triangeln. "); java.util.Scanner scan = new java.util.Scanner (System.in); int tal1 = scan.nextInt(); int tal2 = tal1 - 1; int i = 0; int j = 'A'; char letter = (char)(j + 'A'); for (i = 1; i <=tal2 +'A'; i++) { for (j = 'A'; j <= i; j++) System.out.print(j + " "); System.out.println(letter); } } }
  3. Nu har jag filat litet mer på koden, men får fortfarande samma resultat: ett enkelt A läggs till i slutet av varje rad. import java.util.Scanner; public class Triangle { public static void main(String[] args) { System.out.println("Ange längden för de två sidorna i den rätvinkliga triangeln. "); java.util.Scanner scan = new java.util.Scanner (System.in); int tal = scan.nextInt(); int j = 0; int counter = 0; char letter = (char)(counter + 65); for (int i = 1; i <= tal; i++) { for (j = 1; j <= i; j++) counter++; System.out.print(j + " "); System.out.println(letter); } } }
  4. Nej, det blir tyvärr ingen förbättring. Raderna avslutas fortfarande med ett enkelt 'A' efter siffrorna. import java.util.Scanner; public class Triangle { public static void main(String[] args) { System.out.println("Ange längden för de två sidorna i den rätvinkliga triangeln. "); java.util.Scanner scan = new java.util.Scanner (System.in); int nr = scan.nextInt(); int counter = 0; char letter = (char)(counter + 65); for (int i = 1; i <= nr; i++) { for (int j = 1; j <= i; j++) System.out.print(j + " "); System.out.println(letter); } } }
  5. Jag har en liksidig triangel som ska skrivas ut i höjd och bredd enligt det antal rader som användaren anger. Nu vill jag ändra siffran till att motsvara en bokstav. 1 = A, 2 = B osv Med nuvarande kod blir resultatet så här vid valet 4 för antalet: 1 12 123 1234 Men jag vill presentera svaret så här i stället: A AB ABC ABCD Jag har försökt med att lägga till en counter och omvandla int till char: counter = 0; char letter = (char)(counter + A); System.out.println (letter); Men då blir effekten bara att varje rad får ett tillägg med A. Så här ser min kod ut i Java. import java.util.Scanner; public class Triangle { public static void main(String[] args) { System.out.println("Ange längden för de två sidorna i den rätvinkliga triangeln. "); java.util.Scanner scan = new java.util.Scanner (System.in); int nr = scan.nextInt(); for (int i = 1; i <= nr; i++) { for (int j = 1; j <= i; j++) System.out.print(j + " "); System.out.println(); } } }
  6. Jag har skickat med en skärmdump, men ser den inte i svaret. Finns den med någonstans?
  7. Så här ser det ut när filerna är uppladdade.
  8. Det blev något knas med indexsidan. Så här ska den vara: <!DOCTYPE html> <html lang="en-US"> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="stil.css" type="text/css"> </head> <body> <nav> <ul id="meny"> <li><a href="index.html" id="current">Hem</a></li> <li><a href="#">AAA</a></li> <li><a href="#">BBB</a></li> <li><a href="#">CCC</a></li> </ul> </nav> <section> <h2>Huvudrubrik</h2> <p>Huvudinnehåll</p> <article> <h2>Rubrik 1</h2> <p> Innehåll 1 med rubriker</p> </article> <article> <h2>Rubrik 2</h2> <p> Innehåll 2 med rubriker </p> </article> </section> <aside> Nyhetsbrev H-spalt </aside> <?php include("fot.php"); ?> Med include (där sluttaggar för body och html ligger i fot-filen) som avslutande kod tappar index formen mot nedre kanten. Den omslutande linjen lägger sig bara runt huvudet. Är det fel i CSS-koden?
  9. Jag försöker bygga min indexsida så att jag i foten och sidan enklare ska kunna göra ändringar, utan att behöva ändra alla sidor. Jag har kallat dessa sidor för fot.php och sida.php Jag har börjat med att försöka sätta in foten i index, men med olika placeringar så blir effekten ingen alternativt att boxarna flyttas. (I och med att det handlar om php så har jag även laddat upp sidan på webben för att kolla.) <!DOCTYPE html> <html lang="en-US"> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="stil.css" type="text/css"> </head> <body> <nav> <ul id="meny"> <li><a href="index.html" id="current">Hem</a></li> <li><a href="#">AAA</a></li> <li><a href="#">BBB</a></li> <li><a href="#">CCC</a></li> </ul> </nav> <section> <h2>Huvudrubrik</h2> <p>Huvudinnehåll</p> <article> <h2>Rubrik 1</h2> <p> Innehåll 1 med rubriker</p> </article> <article> <h2>Rubrik 2</h2> <p> Innehåll 2 med rubriker </p> </article> </section> <aside> Nyhetsbrev H-spalt </aside> <?php include("incl/fot.php"); ?> <!-- flyttad info till egen fil <footer> <address>© Copyright Sidan uppdaterad 2016 xxxx.......</p> </address> </footer> --> </body> </html> <footer> <address> © Copyright Sidan uppdaterad 2016 xxxx.......</p> </address> </footer> </body> </html> css html { overflow-y: scroll;} body { background: white; border: 1px solid #0000ff; font-family: calibri, arial, sans-serif; width: 750px; margin: 25px auto; padding: 0; } header { height: 175px; background-color: #edffff; margin-top: -16px; padding: 0; } nav { height: 35px; background-color: #edffff; padding-left: 10px; } section { width: 550px; float: left; min-height: 400px; } article { width: 550px; float: left; background-color: yellow; } aside { width: 200px; float: right; background-color: lightgrey; } footer { clear: both; position: relative; height: 55px; padding: 5px ; text-align: center; background-color: magenta; } address { font-size: 12px; font-style: normal; } /* Menykataloger */ ul { margin: 0; padding: 0; } #meny li { display: inline; padding: 5px 1px; } #meny li a { margin: 0 5px 0 5px; padding: 5px 15px; text-align: center; font-family: arial; font-size: 13px; font-weight: bold; color: black; border: 1px solid black; border-radius: 5px; background: yellow; } #meny li a:hover { background: #CCEBFF; color: black; } #meny a:link, #meny a:visited { color: black; text-decoration: none; } #meny a:active { color: white; } #meny a#current { background: white; } Är det någon som ser vad jag har gjort för fel? // Agneta
  10. Ytterligare ett problem med object-funktion: Skapa funktionen 'shape.overlapShape()'. Kolla om rektangel shape3 överlappar shape1 eller inte. Kontrollpunkter: x och y-värden plus höjd och bredd. Shape 1 har dessa värden: 86, 61,15,18 Shape 3 (som ska kollas) har dessa: 95, 69, 15,18 Så här långt har jag kommit, men det blir inte rätt: var shape3 = Object.create(shape1); shape3.init(95, 69, 15, 18); shape.overlapShape = function(otherShapeX, otherShapeY) { if ((otherShapeX > this.x) && (otherShapeX <(this.x + this.width))) { return true; } if ((otherShapeY > this.y) && (otherShapeY < (this.y + this.height))) { return true; } else { return false; } }; //shape1 = 86,61,15,18 document.write = shape.overlapShape(shape3); Om jag sätter ihop if-satserna till en gemensam så 'dör koden'. Finns det någon som kan ge mig något tips?
  11. Tack för synpunkter och förslag till lösning. eforum är verkligen ett ypperligt forum att ta till när alt strular!
  12. Så rätt, så rätt. Jag får bli bättre på att tänka litet grundligare på vad jag egentligen ska göra. Men rent spontant så tycker jag att objekt-hantering är svårt. Tack för tips och synpunkter.
  13. Uppgiften är att skapa metoden "shape.overlapPoint(posX, posY)" som ska kolla om positionen x resp y håller sig inom gällande yta. Svar med true eller false. (Givna testvärden.) Så här långt har jag kommit, vilket dock blir fel. var shape = { x : "", y : "", }; shape.init = function(x, y) { this.x = x; this.y = y; } shape.init = function(posX, posY) { this.posX = posX; this.posY = posY; } shape1= Object.create(shape); shape1.init(103,75); var shape2= Object.create(shape); shape2.init(50,64); shape1.overlapPoint = function(){ if (this.x < this.posX) { return true; } else { return false; } }; shape2.overlapPoint = function(){ if (this.y < this.posY) { return true; } else { return false; } }; Document.write = shape1 + ", " + shape2; Finns det någon som kan ge mig en hint?
  14. Javisst! Det funkade fint. Tack för hjälpen!
  15. Är det någon som ser vad jag har gjort för fel här: Jag ska skapa en kopia via Object.create med nya värden, där min kopia bara tar in en del av de nya värdena. Person nr 1 (Isac) var person1 = { firstName : "Isac", lastName : "Newton", nationality : "England", }; person1.fysiker = function() { return "My name is " + this.firstName + " " + this.lastName + " from " + this.nationality + "."; } person1.born = new Date("1643-01-04"); person1.print3 = function() { var year = this.born.getFullYear(); return person1.fysiker() + " I was born " + year + "."; }; document.write = person1.print3(); Person nr 2 (Henri) var person2 = Object.create(person1, { firstName: { value: "Henri" }, lastName: { value: "Becquerel" }, nationality: { value: "France" }, born: { value: new Date("1852-12-15") }, } ); document.write = person2.print3(); Svaret blir nämligen detta: "My name is Isac Newton from England. I was born 1852." I stället för: "My name is Henri Becquerel from France. I was born 1852."
×
×
  • Skapa nytt...