Gå til innhold

Program for å sjekke om tall er et «Happy Number»


Anbefalte innlegg

Hei... Jeg tenkte jeg skulle lage et program som tester om et tall er et Happy Number eller ikke...

 

Men jeg stagnerte ganske kjapt. Kan noen hjelpe meg med å finne ut hvordan man finner antall siffer en int består av? Og hvordan jeg kan hente ut siffer x fra en integer?

class HappyNumber {
public static void main(String[] args) {
 //
 int number;
 boolean isHappy;
 
 number = 23;
 isHappy = false;
 
 while (!isHappy) {
 	lengde = number.length;
 	int[] tall = new int[lengde];
 	
 }
}
}

Jeg skal siden lage det om til en metode utenfor main, men må først finne ut av de mest grunnleggende tingene...

Lenke til kommentar
Videoannonse
Annonse

Du kan jo prøve string metodene:

 

  int number = 2838;
 int antall = (number + "").length();
 System.out.println("Tallet er: " + number + ", og det består av " + antall + " siffer.");
 for (int j = 0; j < antall; j++) {
 	int x = Integer.parseInt((number + "").charAt(j) + "");
 	System.out.println(x);
 }

Lenke til kommentar

Fritt tenkt uten å sjekke at det kompilerer..

 

protected int getSiffer(int tall, int siffernr) {
  
  String tallString = String.valueOf(tall);
  String tallSiffer = null;
  
  try {
     tallSiffer = tallString.substring(siffernr-1, siffernr);
  } catch(StringIndexOutOfBoundsException e) {
     throw new IllegalArgumentException("Tallet " + tall " har færre siffer enn " + siffernr);
  }

  return Integer.parseInt(tallSiffer);
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...