給你看看我的思路:把兩句話存在兩個(gè)String里,然后用一個(gè)int記String長(zhǎng)度,一個(gè)int記相同字的個(gè)數(shù),最后把兩個(gè)int一除就出來了。
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)澤州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
當(dāng)然這個(gè)是最簡(jiǎn)單的,只能算相同長(zhǎng)度的兩句話。
1.代碼如下:
import?java.io.File;
import?java.io.FileNotFoundException;
import?java.util.HashSet;
import?java.util.Scanner;
import?java.util.Set;
public?class?Qurey?{
public?static?void?main(String[]?args)?throws?FileNotFoundException?{
System.out.println("please?enter?a?file?to?read?from:?");
Scanner?in?=?new?Scanner(System.in);
String?filename?=?in.next();
SetString?textkeywords?=?readWords(filename);
//?in.close();
System.out
.println("please?enter?query?keywords?to?seartch,1?to?quit:?");
SetString?keywords?=?new?HashSetString();
Scanner?input?=?new?Scanner(System.in);
//?correct?here
String?temp;
while?(!(temp?=?input.next()).equals("1"))?{
keywords.add(temp.toLowerCase());
}
int?qIntersectD?=?0;
for?(String?word?:?keywords)?{
if?(textkeywords.contains(word))?{
qIntersectD++;
}
}
double?Similarity?=?0;
Similarity?=?qIntersectD
/?(Math.sqrt(textkeywords.size())?*?Math.sqrt(keywords.size()));
System.out.println("the?similarity?between?query?and?document?is?:?"
+?Similarity);
}
public?static?SetString?readWords(String?filename)
throws?FileNotFoundException?{
SetString?words?=?new?HashSetString();
Scanner?in?=?new?Scanner(new?File(filename));
in.useDelimiter("[^a-zA-Z]+");
while?(in.hasNext())?{
words.add(in.next().toLowerCase());
}
in.close();
return?words;
}
}
2.運(yùn)行結(jié)果:
public class Main{ public static void main (String[] args){ int a[]={6,7}; int []b = new int[2]; int i=0; for(i=0;i2;i++){ b[i]=a[i]-1; System.out.println(b[i]); } }}望采納謝謝,可以追問
有的,是基于編譯后的字節(jié)碼的檢測(cè),因此添加空格是不管用的,method順序不清楚,大致原理跟下面這個(gè)論文里的差不多,但是具體的軟件應(yīng)該有所不同,需要知道具體是什么軟件才好針對(duì)性的做修改以避免抄襲檢測(cè)
/*
* 在java中寫個(gè)程序,輸入10組數(shù)字,每組為0-3之間的6位數(shù),算出相似位數(shù)最多的兩組,并打印結(jié)果。
* 如:
“0” 110212
“1” 022011
“2” 231221
“3” 222121
“4” 203022
“5” 030111
“6” 220122
“7” 212232
“8” 122232
“9” 200123
打印 :7組 8組
結(jié)果是:2232
位數(shù)4位
代碼如下所示:
*/
import java.util.Scanner;
public class Main3 {
public static void main(String args[]){
String [][]str=new String[10][2];
Scanner scanner=new Scanner(System.in);
for(int i=0;i10;i++){
//如果沒有前面的“0”,“1”……的輸入,我們手動(dòng)添加即可,或者改為1維數(shù)組
str[i][0]=scanner.next();
//我們?cè)谶@里要以String的格式讀取數(shù)字,以便于后面的計(jì)算和處理
str[i][1]=scanner.nextLine();
str[i][1]=str[i][1].trim();
}
String temp[]=new String[2];
int count[]=new int[45];//0需要和2-9比,2需要和3-9比,以此類推,8比9,9不比,所以一共有45個(gè)比較結(jié)果
String best[]=new String[45];
String choice[]=new String[45];
int cn=0;
for(int i=0;i9;i++){
for(int j=i+1;j=9;j++){
for(int l=0;l6;l++){
if(str[i][1].charAt(l)==str[j][1].charAt(l)){
//如果兩個(gè)數(shù)列中有相同的位數(shù),那么這兩個(gè)數(shù)組合的計(jì)數(shù)器加一
//并且將相同位數(shù)加入對(duì)應(yīng)組合的字符串中
count[cn]++;
if(best[cn]!=null)
best[cn]+=String.valueOf(str[i][1].charAt(l));
else
best[cn]=String.valueOf(str[i][1].charAt(l));
}
}
choice[cn]=String.valueOf(i)+";"+String.valueOf(j);
cn++;
}
}
int max=count[0];
int max_n=-1;
for(int i=1;i45;i++)
//找到相同位數(shù)最多的那一位
if(max=count[i]){
//這里是相同數(shù)量取最后一組,滿足樓主的要求
//若要相同數(shù)量取前一組,改為maxcount[i]即可
max=count[i];
max_n=i;
}
//System.out.println(max_n+"\t"+max+"\t"+best[max_n]);
int index=choice[max_n].indexOf(";");
System.out.println(choice[max_n].substring(0,index)+"組\t"+choice[max_n].substring(index+1)+"組");
System.out.println("結(jié)果是:\t"+best[max_n]);
System.out.println("位數(shù)"+count[max_n]+"位");
}
}
運(yùn)行結(jié)果:
輸入:
“0” 110212
“1” 022011
“2” 231221
“3” 222121
“4” 203022
“5” 030111
“6” 220122
“7” 212232
“8” 122232
“9” 200123
輸出:
7組 8組
結(jié)果是: 2232
位數(shù)4位
完全滿足樓主要求,并且有注釋~
加不加分看樓主你的心情,不過幫忙點(diǎn)下“對(duì)我有幫助”唄~謝謝了