Kontrollera två tals delbarhet och endast skriva ut resultatet om de är jämnt delbara
Jag ska skriva psuedokod och ett aktivetsdiagram .Programmet skall läsa in två tal. Programmet skall sedan undersöka om de är jämnt delbara (det blir inga decimaler vid division) med varandra. Om de är jämnt delbara skall programmet skriva ut att de är jämnt delbara annars skriva ut att de inte är jämnt delbara.
jag försöker skriva ett program i Netbeans (Java) som ger detta resultat men vet inte hur jag ska skriva exakt den delen som handlar om " om de är jämnt delbara (det blir inga decimaler vid division) med varandra. Om de är jämnt delbara skall programmet skriva ut att de är jämnt delbara annars skriva ut att de inte är jämnt delbara."
Jag har skrivit så här :
package inlänmningtest02;
import java.util.Scanner;
/** *
*/public class uppgift
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int tal1, tal2; System.out.print( " Mata in två tal: " );
tal1 = scan.nextInt();
tal2 = scan.nextInt();
System.out.println( tal1 + " / " + tal2 + " = " + tal1/tal2) ;
.
.
.jag vet inte hur jag ska skriva för att för att programmet ska skriva ut resultatet
Du behöver använda en operator som heter modulo. Det är alltså resten i division med rest man lärde sig tidigare matten. Operatorn skrivs som % men har ingenting med procent att göra.
5 % 2 = 1 eftersom 5/2=2 med rest 1
6 % 2 = 0 eftersom 6/2=3 med rest 0
Om modulo returnerar noll så är dina två tal jämnt delbara.
Är det en bit på väg?
jo jag skrev så här från början
System.out.println( tal1 + " % " + tal2 + " = " + tal1%tal2) ;
Men med denna sats får man en rest som resultat och det är ju inte vad som frågas om.
Men enligt uppgiften ska man få resultat om de två talen är jämt delbara alltså att svaret blir ett heltal och om de inte är det så ska det stå i resultatet .Det är inte jämnt delbart.
Hur skriver man den satsen?
if (… villkor…)
{
… skriv ut något …
}
else
{
… skriv ut något annat …
}
Så man ska skriva om resultat blir 0 så är det jämnt delbart men om det inte är lika med noll så är det inte jämnt delbart.
Detta måste skrivas som programmkod,
Ska testa och återkomma.
Tack för svar
Jag har ju inte sett exakt hur din uppgift ser ut men det låter som om du är på rätt väg nu.
Uppgift A (Programmering 1)
Syfte
Att visa att man kan
- skriva pseudokod
- rita aktivitetsdiagram.
Krav på programmets funktioner
Programmet skall läsa in två tal.
Programmet skall sedan undersöka om de är jämnt delbara (det blir inga decimaler vid division) med varandra.
Om de är jämnt delbara skall programmet skriva ut att de är jämnt delbara annars skriva ut att de inte är jämnt delbara.
Att programmera i Java sedan när det fungerar även skriva som pseudokod och rita aktivitetsdiagram
Tack! Välkommen till Pluggakuten förresten.
Det verkar som du behöver få till ditt villkor där och sedan skriva ut det som förväntas av uppgiften, beroende på resultatet.
Kan du hjälpa mig få till det villkoret för det fungerar inte?
Jag kommer inte på hur jag ska skriva det matematiska uttrycket för detta i programkod. Jag är nybörjare i detta
Något åt det här hållet?
if (tal1 % tal2 == 0)
{
System.out.println("Talen " + tal1 + " och " + tal2 + " är jämnt delbara.");
}
else
{
System.out.println("Talen " + tal1 + " och " + tal2 + " är inte jämnt delbara.");
}
Tack jag ska testa
Tack så mycket för hjälpen.
Jag fick till det till slut :)
AD75 skrev:Tack så mycket för hjälpen.
Jag fick till det till slut :)
Tjusigt! Posta gärna ditt fungerande program om du vill. Nu har du pseudokod + diagram kvar.
package uppgifta;
import java.util.Scanner;
public class UppgiftA {
public static void main(String[] args) {
java.util.Scanner scan = new java.util.Scanner(System.in);
int tal1, tal2;
System.out.print( " Mata in två tal: " );
tal1 = scan.nextInt();
tal2 = scan.nextInt();
System.out.println( tal1 + " / " + tal2 + " = " + tal1/tal2) ;
if (tal1 % tal2 == 0)
{
System.out.println("Talen " + tal1 + " och " + tal2 + " ar jamnt delbara.");
}
else
{
System.out.println("Talen " + tal1 + " och " + tal2 + " ar inte jamnt delbara.");
}
}
}
"Med varandra"? Räknar man t.ex. 6 och 3, eller även 3 och 6?
Fixa till indenderingen, så att det som är efter if är på samma nivå i vänsterkant som resten av koden.
Sedan har du ju redan skrivit ut tal1 och tal2 tidigare, så det kanske räcker med att tala om huruvida de är jämnt delbara eller ej (utan att skriva ut dem på nytt).
Laguna ställde precis en fråga, men den känns definitivt som överkurs för uppgiften. Det står inte uttryckligen att det är som gäller, men jag tror vi kan utgå ifrån att uppgiften inte också vill att man kontrollerar . Senare i livet, om du börjar koda på högre nivå eller för pengar som jag, är det dock absolut relevant att lusläsa "kraven". Är de otydliga är det lätt att man hamnar i en diskussion om programmet fungerar som "beställt" eller ej.
Ju tidigare man lär sig att fundera på tolkningen av kraven, desto bättre.
Nästa fråga: har du funderat på vad som ska hända om tal2 är 0?
Laguna skrev:Ju tidigare man lär sig att fundera på tolkningen av kraven, desto bättre.
Nästa fråga: har du funderat på vad som ska hända om tal2 är 0?
Sant, men på den här nivån är det så otroligt mycket att fundera på, som att lära sig modulo samt vanliga if-satser.
Jag tycker den som frågade skall vara nöjd med löst uppgift och fungerande javakod.
Sedan, som du säger, kan tal2 absolut vara noll, eller -2i eller banankaka. Det finns så otroligt många saker som kan gå fel i ett enkelt javaprogram som inte inte validerar inmatning. Det är väl sannolikt inte vad den här uppgiften handlar om, eller hur? Dessutom smäller den färdiga koden i uppgiften innan vi ens kommer till det vi knåpat ihop om någon inte matar in fina förväntade heltal.
Frågan var ställd till trådskaparen, förstås.