Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 第一个字母和最后一个字母、第二个字母和倒数第二个字母之间的差值之和,依此类推,直到单词的中心_Java_String - Fatal编程技术网

Java 第一个字母和最后一个字母、第二个字母和倒数第二个字母之间的差值之和,依此类推,直到单词的中心

Java 第一个字母和最后一个字母、第二个字母和倒数第二个字母之间的差值之和,依此类推,直到单词的中心,java,string,Java,String,如果给定字符串为“万维网” 在每个单词中,找出第一个字母和最后一个字母、第二个字母和倒数第二个字母之间的差值之和,依此类推,直到单词的中心 世界=[W-D]+[O-L]+[R]=[23-4]+[15-12]+[18]=[19]+[3]+[18]=[40] 宽=[W-E]+[I-D]=[23-5]+[9-4]=[18]+[5]=[23] 网络=[W-B]+[E]=[23-2]+[5]=[21]+[5]=[26] 将每个单词的和连接起来形成结果 [40][23][26] [402326] class

如果给定字符串为“万维网” 在每个单词中,找出第一个字母和最后一个字母、第二个字母和倒数第二个字母之间的差值之和,依此类推,直到单词的中心

世界=[W-D]+[O-L]+[R]=[23-4]+[15-12]+[18]=[19]+[3]+[18]=[40]

宽=[W-E]+[I-D]=[23-5]+[9-4]=[18]+[5]=[23]

网络=[W-B]+[E]=[23-2]+[5]=[21]+[5]=[26]

将每个单词的和连接起来形成结果

[40][23][26]

[402326]

class Strcode{
    public static void main(String args[]){
        int xd[]=new int[100];
        int n[]=new int[100];
        int position=0;
        String input = "hello".toLowerCase(); //note the to lower case in order to treat a and A the same way
        for( int i = 0; i < input.length(); ++i) {
            position = input.charAt(i) - 'a' + 1;
            System.out.println(position);
            for( int k=0,j=position.length()-1;k<j;k++,j--){
                xd[k]=Math.abs(xd[k]-xd[j]);
                System.out.println(xd[k]);
            }
        }
    }
}
类Strcode{
公共静态void main(字符串参数[]){
int xd[]=新int[100];
int n[]=新int[100];
int位置=0;
String input=“hello”.toLowerCase();//注意小写,以便以相同的方式处理a和a
对于(int i=0;i对于(int k=0,j=position.length()-1;k这是初学者的基本问题之一。让我来为您解答。您需要执行以下步骤:

  • 从给定字符串中提取每个单词。(自行完成!)
  • 计算每个单词的总和。(找到下面的代码!)
  • 连接这些总和。(简单!)

    公共类示例{
    公共静态void main(字符串参数[]){
    //在这里执行您的代码部分
    String sampleWord=“hello”;
    int individualWordSum=countSum(sampleWord);
    }
    公共静态int countSum(字符串字){
    字符串输入=word.toLowerCase();
    整数和=0;
    对于(int i=0;i
  • 下面是您需要的完整代码,但首先请自己尝试

    public class sample{
    public static void main(String args[]){
    
        String sentence = "WORLD WIDE WEB";
        String words[] = sentence.split(" ");
        String result = "";
    
        for(String word : words){
          result += String.valueOf(countSum(word));
        }
    
        System.out.println("Sum for " + sentence + " is " + result);
    
    }
    
    public static int countSum(String word){
    
      String input = word.toLowerCase();
      int sum = 0;
    
      for( int i = 0; i < input.length()/2; i++) {
          int s = (input.charAt(i) - 'a') - (input.charAt(input.length() - 1 - i) - 'a');
          sum += Math.abs(s);
      }
    
      if(input.length()%2!=0){
        sum += input.charAt(input.length()/2) - 'a' + 1;
      }
    
      return sum;
    
    }
    }
    
    公共类示例{
    公共静态void main(字符串参数[]){
    String语句=“万维网”;
    字符串单词[]=句子。拆分(“”);
    字符串结果=”;
    for(字符串字:字){
    结果+=字符串.valueOf(countSum(word));
    }
    System.out.println(“句子+的和等于结果”);
    }
    公共静态int countSum(字符串字){
    字符串输入=word.toLowerCase();
    整数和=0;
    对于(int i=0;i
    如果不实现所描述的逻辑,而是对其进行分析并获得更简单的解决方案,则可以使其变得更简单

    您可以将单词的前半部分(如果单词长度为奇数,则包括中间的字母)相加,然后减去后半部分,而不是将第一个字母和最后一个字母之间的差值相加,依此类推

    String sentance = "WORLD";
    int middle = Math.ceil(sentance.length() / 2);
    int sum = 0;
    
    for (int i = 0; i < sentance.length(); i++)
    {
        if (i <= middle)
        {
            sum += sentance[i] - 'A' + 1;
        }
        else
        {
            sum -= sentance[i] - 'A' + 1;
        }
    }
    
    System.out.println("Sum: " + sum);
    
    String sentance=“WORLD”;
    int middle=Math.ceil(sentance.length()/2);
    整数和=0;
    for(int i=0;i如果(我是什么意思,你不能减法?这是我认为最简单的部分,对于这个代码段,递归函数将非常有用…你应该考虑给你的变量起一个有意义的名字。只使用i,k,xs会让其他人很难理解。你想用
    position.length()实现什么1 < <代码> > <代码>位置>代码> <代码> int >代码>考虑先创建一些伪代码,然后尝试将其转换成真正的代码。
    。通过将完整输入证明为->(hello world),它返回的输出为-->hello的总和为26,world的总和为40,但预期的输出是将它们连接起来,并输出为2640。这是第1点和第3点,您需要实现。尝试一下。如果您仍然面临问题,我也会指导您。是的,我做到了。我几乎可以自己完成这项工作,非常感谢您的支持右。@jackjay
    String sentance = "WORLD";
    int middle = Math.ceil(sentance.length() / 2);
    int sum = 0;
    
    for (int i = 0; i < sentance.length(); i++)
    {
        if (i <= middle)
        {
            sum += sentance[i] - 'A' + 1;
        }
        else
        {
            sum -= sentance[i] - 'A' + 1;
        }
    }
    
    System.out.println("Sum: " + sum);