Gå til innhold

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


Anbefalte innlegg

Skrevet

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...

Videoannonse
Annonse
Skrevet

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);
 }

Skrevet

Hmm... har ikke sett i API'en, men kan det hjelpe om du lager et Integer-objekt av int'en? Vet ikke hvilke metoder denne klassen har men den har sikkert noe som du kan bruke.

Skrevet

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);
}

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...