Permalänk
Medlem

Java (Kryptering)

Har en liten fundering som jag ej får klarhet i.
Läser en Java kurs och har en uppgift där jag skall kunna mata in 4 st tal som skall krypteras och skrivas ut både som krypterat och även de siffror jag matat in.
Den applikationen jag just gjort fungerar hur bra som helst. Men i uppgiftsbeskrivningen står följande: "Använd for loop och charAt metoden från
String klassen för att plocka ut varje enskilt tecken som du gör krypteringsberäkningen
på annars blir exempelberäkningarna fel. Dvs för varje enskilt tecken(siffra) använder
krypteringsalgoritmen ( (tecken + 7) % 10 ))"

Det jag då undrar över är hur jag skall kunna använda mig utav for loopen för att genomföra detta? Jag har nu inte använt mig utav den och tycker att programmet ändå gör sin funktion. Men på vilket sätt skulle jag kunna använda mig utav den i detta sammanhang?

package kryptering;

import java.util.Scanner;

public class buffel {

public static int krypt1;
public static int krypt2;
public static int krypt3;
public static int krypt4;

public static int deKrypt1;
public static int deKrypt2;
public static int deKrypt3;
public static int deKrypt4;
public static void main(String[] args) {
Scanner input = new Scanner( System.in );

System.out.printf("Skriv in fyra siffror:");
String tal;
tal = input.nextLine();

String z = tal;
char a = z.charAt(0);

String g = tal;
char b = g.charAt(1);

String l = tal;
char c = l.charAt(2);

String m = tal;
char d = m.charAt(3);

krypt1 = (int) a;
krypt2 = (int) b;
krypt3 = (int) c;
krypt4 = (int) d;

deKrypt1 = (((krypt1 + 7) % 10));
deKrypt2 = (((krypt2 + 7) % 10));
deKrypt3 = (((krypt3 + 7) % 10));
deKrypt4 = (((krypt4 + 7) % 10));

System.out.println("Kryptering:");
System.out.println(deKrypt1);
System.out.println(deKrypt2);
System.out.println(deKrypt3);
System.out.println(deKrypt4);

System.out.println("\nOkrypterade");
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);

}

}

Permalänk
Medlem

För att omvandla din kod till en loop:
istället för 4 stycken variabler gör du en array. Sedan använder du en for-loop och kör algoritmen på varje element.
Den bästa och enklaste vägen:
Använd en String och sedan loopa igenom denna.
EDIT: Använd code taggarna! SC borde verkligen ha en algoritm som varnar varje gång man postar ett meddelande där majoriteten av varje rad slutar på ";"

Visa signatur

citera!

Permalänk
Medlem

Tack så mycket!
Hur använder jag for loopen för att loopa igenom arrayen, och kunna få ut dom värdena?

Permalänk
Medlem
Visa signatur

citera!