Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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 - Fatal编程技术网

Java 混淆:使用简单逻辑的程序

Java 混淆:使用简单逻辑的程序,java,Java,嗨,朋友们,我正在从基础学习java。。 我自己写了一个flames程序,我被一些问题迷住了,请帮帮我 我的代码 import java.util.*; class Solution { public static void main(String arg[]) { int i,j,count=0; String f ="FLAMES"; char[] fl = f.toCharArray(); Scanner sc = new Scanner(Syste

嗨,朋友们,我正在从基础学习java。。 我自己写了一个flames程序,我被一些问题迷住了,请帮帮我

我的代码

import java.util.*;


class Solution
 {
public static void main(String arg[])
{
    int i,j,count=0;
    String f ="FLAMES";
    char[] fl = f.toCharArray();

    Scanner sc = new Scanner(System.in);
    String s1 = sc.nextLine();
    String s2 = sc.nextLine();

    for(i=0;i<s1.length();i++)
    {
        for(j=0;j<s2.length();j++)
        {
         if(s1.charAt(i)==s2.charAt(j))
         {
             count+=1;
             break;
         }
        }
    }
    int x=(s1.length()+s2.length())-(count*2);
    for(i=0;i<=x;i++)
    {
        */need logic here/*

    }
    System.out.print(fl);

   }
  }
import java.util.*;
类解决方案
{
公共静态void main(字符串arg[])
{
int i,j,计数=0;
字符串f=“火焰”;
char[]fl=f.toCharArray();
扫描仪sc=新的扫描仪(System.in);
字符串s1=sc.nextLine();
字符串s2=sc.nextLine();

对于(i=0;i我也以与您相同的方式执行了flames程序…只需检查我的和您的是否理解我使用的逻辑…检查一些名称,如果您不理解,请毫不犹豫地询问我

import java.util.*;
public class Flames
{
     public static void main()
     {
        int sp=0;
        Scanner sc=new Scanner(System.in);
        System.out.println("enter two names");
        String s=sc.nextLine();
        String s1=sc.nextLine();
        String p="flames";
        String p1="flames";
        String s2="";
        String m="";
        for(int i=0;i < s.length();i++)
        {
           if(s.charAt(i)==' ') 
           {
           }
           else
           {
              m=m+s.charAt(i);
           } 
        }
        s=m;
        m="";
        for(int i=0;i < s1.length();i++)
        {
           if(s1.charAt(i)==' ')
           {
           }
           else
           {
              m=m+s1.charAt(i);
           }
        }
        s1=m;
        m="";
        int l=s.length();
        int l1=s1.length();
        for(int i=0;i < l;i++)
        {
           int sl=0;
           for(int j=0;j < s1.length();j++)
           {
               if(s.charAt(i)==s1.charAt(j))
               {
                  if(sl==0)
                  {
                     sl++;sp++;s2=s2+" " ;
                  }
                  else
                  {
                     s2=s2+s1.charAt(j);
                  }
                }
                else
                {
                    s2=s2+s1.charAt(j);
                }
             }
             s1=s2;
             s2="";
         }
         sp=sp*2;
         int c=(l-1)+(l1-1)-(sp-1);
         for(int i=1;;i++)
         {
            String z="";p=p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p;
            String mn="";
            char c1=p.charAt(c);
            for(int j=0;j < p1.length();j++)
            {
                if(c1==p1.charAt(j))
                {
                   mn=p1.substring(j+1)+mn;
                       break;
                }
                else
                {
                   mn=mn+p1.charAt(j);
                }
             }
            for(int k=0;k < p1.length();k++)
            {
                if(c1==p1.charAt(k))
                {
                }
                else
                {
                   z=z+p1.charAt(k);
                }
            }
            p1=z;
            p=mn;
            if(mn.length()==1)
            {
              System.out.println(mn);
                   break;
            }
       }
   }
}
import java.util.*;
公共级火焰
{
公共静态void main()
{
int sp=0;
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入两个名称”);
字符串s=sc.nextLine();
字符串s1=sc.nextLine();
字符串p=“火焰”;
字符串p1=“火焰”;
字符串s2=“”;
字符串m=”“;
对于(int i=0;i
现在,您得到了计数,即不匹配计数,现在,您必须迭代字母flames并删除每个字母,直到剩下一个,这是两个人之间所需的关系

现在,想象一个12小时的时间。当有人说时间16时,你解释为4。为什么,因为你在检查0-12范围内的数字。你从一开始就加上多余的数字,即0

16=(16÷12)得到4

火焰中总共有6个字母。索引范围为0-5。 删除字母后,其范围为0-4。 最后是一个问题

所以让我们考虑17的计数。< /P> 第一步:

17在5的范围内。 startIndex=0 17÷5等于2

第二个索引是A。所以删除A。 从米开始

FLMES

现在M是2

第二步:

范围:4 startIndex=2 (2+17)÷4=(19÷4)=3。现在删除第三个索引E

FLMS

第三步:

范围:3 startIndex=3 (3+17)÷3=2。删除第二个索引

FLS

第四步:

范围:2 startIndex=2。 (2+17)÷2=1。删除第一个索引字母

财政司司长

第五步:

范围:1 startIndex=1 (1 + 17) ÷ 1 = 0. 删除剩余的第0个索引字母F和“F”

答案是F

最好将火焰存储在列表中,它将负责索引的删除和重新排序

注意:

Unmatched count是两个单词中每个字母的计数差之和

unMatchedCount = abs( count[a] in firstWord - count[a] in secondWord)
                  + abs( count[b] in firstWord - count[b] in secondWord)
                  ..............
                  + .............. till z.

因此,最好使用散列法计算计数,以获得更好的性能。

现在我必须查找并打印计数的匹配项ex:F或A或M以什么方式查找和打印计数的匹配项F、A或M?ex:如果计数为6,在第一次水合中我需要删除S,在第二次水合中我需要删除F,在第三次水合中,等等…最后剩下的一封信我要打印了。你能把一些你期望的输入和输出样本放进去吗?我不确定问题到底是什么。
unMatchedCount = abs( count[a] in firstWord - count[a] in secondWord)
                  + abs( count[b] in firstWord - count[b] in secondWord)
                  ..............
                  + .............. till z.