-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcode
More file actions
82 lines (68 loc) · 2.74 KB
/
code
File metadata and controls
82 lines (68 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import java.util.*; // Scanner
import static java.lang.System.out;
public class Main
{
public static void main (String[] args)
{
out.println ("OPERATIONER MED NATURLIGA HELTAL GIVNA SOM TECKENSTRANGAR\n");
// mata in två naturliga heltal
Scanner in = new Scanner (System.in);
out.println ("två naturliga heltal:");
String tal1 = in.next ();
String tal2 = in.next ();
out.println ();
// addera heltalen och visa resultatet
String summa = addera (tal1, tal2);
visa (tal1, tal2, summa, '+');
// subtrahera heltalen och visa resultatet
String differens = subtrahera (tal1, tal2);
visa (tal1, tal2, differens, '-');
}
// addera tar emot två naturliga heltal givna som teckensträngar, och returnerar deras
// summa som en teckensträng.
public static String addera (String tal1, String tal2)
{
String result;
int value = Integer.parseInt(tal1)+Integer.parseInt(tal2);
result = String. valueOf(value) ;
return result;
}
// subtrahera tar emot två naturliga heltal givna som teckensträngar, och returnerar
// deras differens som en teckensträng.
// Det första heltalet är inte mindre än det andra heltalet.
public static String subtrahera (String tal1, String tal2)
{
String result;
int value = Integer.parseInt(tal1)-Integer.parseInt(tal2);
result = String. valueOf(value) ;
return result;
}
// visa visar två givna naturliga heltal, och resultatet av en aritmetisk operation
// utförd i samband med hetalen
public static void visa (String tal1, String tal2, String resultat, char operator)
{
// sätt en lämplig längd på heltalen och resultatet
int len1 = tal1.length ();
int len2 = tal2.length ();
int len = resultat.length ();
int maxLen = Math.max (Math.max (len1, len2), len);
tal1 = sattLen (tal1, maxLen - len1);
tal2 = sattLen (tal2, maxLen - len2);
resultat = sattLen (resultat, maxLen - len);
// visa heltalen och resultatet
out.println (" " + tal1);
out.println ("" + operator + " " + tal2);
for (int i = 0; i < maxLen + 2; i++)
out.print ("-");
out.println ();
out.println (" " + resultat + "\n");
}
// sattLen lägger till ett angivet antal mellanslag i början av en given sträng
public static String sattLen (String s, int antal)
{
StringBuilder sb = new StringBuilder (s);
for (int i = 0; i < antal; i++)
sb.insert (0, " ");
return sb.toString ();
}
}