Permalänk

tecken val till användaren

Hej,
Sitter med en liten kod som jag vill få till.målet med koden är att användaren skall kunna mata in två tal och sedan välja ett tecken(+,-,*) sedan får användaren en summa. till exempel 3+5=15.hjälp mig hamna på rätt spår

tack mvh william

/*
static void Main(string[] args)
{

Console.WriteLine("Mata in ett heltal: ");
string inmatat;
inmatat = Console.ReadLine();
int mittHeltal = int.Parse(inmatat);

Console.WriteLine("Mata in ett decimaltal: ");
inmatat = Console.ReadLine();
double mittDecimaltal = double.Parse(inmatat);

Console.WriteLine("Mata in ett tecken: ");
string tecken = Console.ReadLine();
int sum =

Console.WriteLine(" Summan av talen blir: " + mittHeltal + tecken + mittDecimaltal + sum);

}
}

}
*/

Permalänk
Hedersmedlem

Hej!

Du kan inte bara göra på det sättet du försöker göra, att du försöker "konstruera" en matematisk formel på det sättet.

Skriver du mittHeltal+tecken+mittDecimaltal så blir i bästa fall resultatet teckensträngen "1+2.3" och inte resultatet av uträkningen.

Du får istället göra en grej som kollar om tecknet är plus, och i så fall adderar ihop talen, om det är minus och i såfall subtraherar etc.

Alternativet är om du hittar någon funktion i java som kan ta in ett matematiskt uttryck som sträng och sedan räknar ut resultatet, men jag är rätt säker på att det inte är det som den som gjort uppgiften har tänkt sig.

Permalänk
Medlem
Skrivet av Will Sheza C:

Hej,
Sitter med en liten kod som jag vill få till.målet med koden är att användaren skall kunna mata in två tal och sedan välja ett tecken(+,-,*) sedan får användaren en summa. till exempel 3+5=15.hjälp mig hamna på rätt spår

tack mvh william

/*
static void Main(string[] args)
{

Console.WriteLine("Mata in ett heltal: ");
string inmatat;
inmatat = Console.ReadLine();
int mittHeltal = int.Parse(inmatat);

Console.WriteLine("Mata in ett decimaltal: ");
inmatat = Console.ReadLine();
double mittDecimaltal = double.Parse(inmatat);

Console.WriteLine("Mata in ett tecken: ");
string tecken = Console.ReadLine();
int sum =

Console.WriteLine(" Summan av talen blir: " + mittHeltal + tecken + mittDecimaltal + sum);

}
}

}
*/

Skrivet av pv2b:

Hej!

Du kan inte bara göra på det sättet du försöker göra, att du försöker "konstruera" en matematisk formel på det sättet.

Skriver du mittHeltal+tecken+mittDecimaltal så blir i bästa fall resultatet teckensträngen "1+2.3" och inte resultatet av uträkningen.

Du får istället göra en grej som kollar om tecknet är plus, och i så fall adderar ihop talen, om det är minus och i såfall subtraherar etc.

Alternativet är om du hittar någon funktion i java som kan ta in ett matematiskt uttryck som sträng och sedan räknar ut resultatet, men jag är rätt säker på att det inte är det som den som gjort uppgiften har tänkt sig.

Precis som ovan skriver.
Dessutom kan du, enligt hur du skrivit uppgiften, skippa att användaren ska mata in +, -, *, / utan rada upp dessa som val och beroende på val utföra rätt matematiska uträkning.

Visa signatur

Corsair Air 540 | Asus strix x470-f gaming | AMD Ryzen 7 3700x| 2x8gb 3200mhz RAM | Asus GTX 2070 |2xSSD 512GB(boot) | 2x1tb WD 7200rpm | Cooler Master V1000 1000W | Skärm: ACER XB280HK, Benq 27" 144hz | Win 11 pro N 64-bit

Permalänk
Medlem

Nått i den här stilen kanske:

static void Main(string[] args)
{
Console.WriteLine("Mata in ett heltal: ");
string inmatat;
inmatat = Console.ReadLine();
int mittHeltal = int.Parse(inmatat);

Console.WriteLine("Mata in ett decimaltal: ");
inmatat = Console.ReadLine();
double mittDecimaltal = double.Parse(inmatat);

Console.WriteLine("Mata in ett tecken: ");
string tecken = Console.ReadLine();

double sum = 0;

switch (tecken)
{
case "+":
sum = mittHeltal + mittDecimaltal;
break;
case "-":
sum = mittHeltal - mittDecimaltal;
break;
case "*":
sum = mittHeltal / mittDecimaltal;
break;
case "/":
sum = mittHeltal / mittDecimaltal;
break;
default: sum = 0;
break;
}

Console.WriteLine("Summan av talen blir: " + sum);
}

Visa signatur

MSI PRO Z790-P WIFI | Intel i9 13900K | 128 GB DDR5
GTX 4070 12 GB
Samsung 990 Pro 4 TB | WD Black SN850X 2 TB Gen 4 | 2 x 1 TB Samsung 970 EVO Plus
3 x ASUS 27" | 1 x Philips 49"

Permalänk
Hedersmedlem

@Superfrog: Jo precis, fast utan att skriva ut den exakta koden att copy/pasta som lösning på en skoluppgift