写一个爱情计算器

时间:2015-10-14 18:59:28

标签: r

以下是我爱情兼容性计算器的代码

love.compatability.2 = function(x, y) {
    a = nchar(x)/1.2
    b = nchar(y)/1.2
    c = a*b
    d = ifelse(c>100, c/2, c)
    classify(d)
}

classify = function(x) {
    if(0 <= x & x <= 9.99){'0-9%'}
    else if(10 <= x & x <= 19.99){'10-19%'}
    else if(20 <= x & x <= 29.99){'20-29%'}
    else if(30 <= x & x <= 39.99){'30-39%'}
    else if(40 <= x & x <= 49.99){'40-49%'}
    else if(50 <= x & x <= 59.99){'50-59%'}
    else if(60 <= x & x <= 69.99){'60-69%'}
    else if(70 <= x & x <= 79.99){'70-79%'}
    else if(80 <= x & x <= 89.99){'80-89%'}
    else if(90 <= x & x <= 100){'90-100%'}
    else{'It cannot be known'}
}

输入是引号中的两个全名。例如“John Salter”,“你的母亲”

为了改善它,我想找到一种方法,将每个名字中的字母类型纳入爱情

有人可以建议这样做吗?您对结果分类的有趣方法有什么想法吗?

1 个答案:

答案 0 :(得分:0)

/*Java code : **love compatibility calculator    .......Happy dating.**

Written by: Dancan Angwenyi

University of Cape Town

Happy coding*/

import java.util.*;

import java.io.*;


public class problemd


{

public static void main(final String[] args){ 


final  String alphabet="abcdefghijklmnopqrstuvwxyz";



Scanner input = new Scanner(System.in);

while(input.hasNextLine()){

     String v = input.nextLine();
     String two = input.nextLine();
     String data = v.toLowerCase();
     char data1[]= data.toCharArray();
     int  num_1=0 ;
     int num_2=0 ;
     for (char s : data1){
       int k = alphabet.indexOf(s)+1;
       num_1+=k;
       //System.out.println(k);
     }
     String data2= two.toLowerCase();
     char dat2[] = data2.toCharArray();
     for (char t : dat2){
       double p = alphabet.indexOf(t)+1;
       num_2+=p;
       //System.out.println(p);

     }
     double sum_1 = 0.00;
     double sum_2 = 0.00;

     while (num_1 != 0) {
        double rem_1;
        rem_1 = num_1 % 10;
        sum_1 = sum_1+ rem_1;
        num_1 = num_1 / 10;
        if (num_1==0 && sum_1>9){
            num_1=(int)sum_1;
            sum_1=0.0;}
     }
     while (num_2 != 0) {
       double rem_2;
        rem_2 = num_2 % 10;
        sum_2 = sum_2 + rem_2;
        num_2 = num_2 / 10;
        if (num_2==0 && sum_2>9){
            num_2=(int)sum_2;
            sum_2=0.0;}


    } 
    //System.out.println(sum_1);
   // System.out.println(sum_2);

    if(sum_1 > sum_2){
     double percent = ( sum_2/sum_1)*100;
     System.out.printf("%.2f %%\n",percent);
    }
    else if(sum_1 == sum_2){
     double percent = ( sum_2/sum_1)*100;
     System.out.printf("%.2f %%\n",percent);
    }
    else if(sum_1 < sum_2){
     double percent = ( sum_1/sum_2)*100;
     System.out.printf("%.2f %%\n",percent);
    }

  }

}

}