tentti09
Class Rakkauslaskuri

java.lang.Object
  extended by tentti09.Rakkauslaskuri

public class Rakkauslaskuri
extends Object

Ohjelma kysyy kaksi nimeä ja laskee nimien perusteella kaksinumeroisen rakkausprosentin. Rakkausprosentti lasketaan laskemalla "LOVES"-sanan jokaisen kirjaimen lukumäärät kummassakin nimessä. Esimerkiksi nimissä "Lotta" ja "Esko" on yhteensä

  -  1 kpl L-kirjainta
  -  2 kpl O-kirjaimia
  -  0 kpl V-kirjainta
  -  1 kpl E-kirjainta
  -  1 kpl S-kirjainta.
 
Suur- ja pienaakkosilla ei ole merkitystä. Kirjaimien lukumäärät summataan vierekkäisten kirjaimien lukumäärien kanssa yhteen, jolloin jäljelle jää neljä lukumäärää. Jos lukumäärien summasta tulee kaksi- tai useampinumeroinen, niin silloin luvun numerot summataan yhteen (esimerkiksi luvusta 12 tulee 3). Vierekkäisten kirjaimien lukumäärien summaamista jatketaan kunnes jäljellä on kaksi lukua. Nämä kaksi lukua muodostavat rakkausprosentin.

Version:
16.12.2009
Author:
Ohj1 tuntiopet

Field Summary
static String RAKKAUSSANA
          Sana jonka kirjaimiin verrataan
 
Constructor Summary
Rakkauslaskuri()
           
 
Method Summary
static int[] laskeKirjaimet(String sana, String jono)
          Laskee kuinka monta mitäkin sanan kirjainta löytyy jonosta.
static int laskeRakkausprosentti(String nimi1, String nimi2)
          Lasketaan sanojen rakkausprosentti.
static int[] laskeVierekkaisetYhteen(int[] a)
          Laskee taulukon vierekkäiset luvut yhteen ja palauttaa uuden taulukon, jossa on vierekkäisten lukujen summa.
static void main(String[] args)
          Lasketaan rakkausprosentti käyttäjän syötteistä
static int summaaNumerot(int luku)
          Laskee yhteen luvun numerot
static int yksiNumeroinenSumma(int luku)
          Muuttaa luvun yksinumeroikseksi laskemalla luvun numerot yhteen niin kauan että tulos on yksinumeroinen.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RAKKAUSSANA

public static final String RAKKAUSSANA
Sana jonka kirjaimiin verrataan

See Also:
Constant Field Values
Constructor Detail

Rakkauslaskuri

public Rakkauslaskuri()
Method Detail

summaaNumerot

public static int summaaNumerot(int luku)
Laskee yhteen luvun numerot

Parameters:
luku - tutkittava luku
Returns:
luvun numeroiden summa
Example:
   summaaNumerot(0) === 0
   summaaNumerot(12) === 3
   summaaNumerot(123) === 6
   summaaNumerot(78) === 15
 

yksiNumeroinenSumma

public static int yksiNumeroinenSumma(int luku)
Muuttaa luvun yksinumeroikseksi laskemalla luvun numerot yhteen niin kauan että tulos on yksinumeroinen.

Parameters:
luku - tutkittava luku
Returns:
luvun numeroiden summa (aina yksi numero)
Example:
   yksiNumeroinenSumma(1)   === 1;
   yksiNumeroinenSumma(12)  === 3;
   yksiNumeroinenSumma(123) === 6;
   yksiNumeroinenSumma(78)  === 6;
 

laskeVierekkaisetYhteen

public static int[] laskeVierekkaisetYhteen(int[] a)
Laskee taulukon vierekkäiset luvut yhteen ja palauttaa uuden taulukon, jossa on vierekkäisten lukujen summa. Jos summan luvusta tulee kaksi tai useampinumeroinen, sen numerot lasketaan yhteen kunnes se on yksinumeroinen.

Parameters:
a - laskettava taulukko
Returns:
vierekkäisten summa (yhtä lyhyempi kuin a)
Example:
 Arrays.toString(laskeVierekkaisetYhteen(new int[]{1}))     === "[]";
 Arrays.toString(laskeVierekkaisetYhteen(new int[]{1,1}))   === "[2]";
 Arrays.toString(laskeVierekkaisetYhteen(new int[]{2,3,5})) === "[5, 8]";
 

laskeKirjaimet

public static int[] laskeKirjaimet(String sana,
                                   String jono)
Laskee kuinka monta mitäkin sanan kirjainta löytyy jonosta.

Parameters:
sana - jonka kirjaimia tutkitaan
jono - josta kirjaimia etsitään
Returns:
kirjainten lukumäärät kokonaislukutaulukossa
Example:
 #import java.util.Arrays;
   Arrays.toString(laskeKirjaimet("apu","saapas"))  === "[3, 1, 0]";
   Arrays.toString(laskeKirjaimet("apu",""))        === "[0, 0, 0]";
   Arrays.toString(laskeKirjaimet("Apua","saapas")) === "[0, 1, 0, 3]";
 

laskeRakkausprosentti

public static int laskeRakkausprosentti(String nimi1,
                                        String nimi2)
Lasketaan sanojen rakkausprosentti.

Parameters:
nimi1 -
nimi2 -
Returns:
nimien rakkausprosentti
Example:
 laskeRakkausprosentti("Lotta","Esko") === 86
 laskeRakkausprosentti("Viivi-Loviisa","Lasse-Sylvester") === 39
 laskeRakkausprosentti("SUSU","VOSSO") === 99
 

main

public static void main(String[] args)
Lasketaan rakkausprosentti käyttäjän syötteistä

Parameters:
args - ei käytössä