第一题代码:
分析:将字符数组中的每个字符串,找出其中最长的那个与字符数组中长度进行比较:
a、当最长的字符串的长度大于等于字符数组的长度时,直接输出
b、当最长的字符串的长度小于字符数组的长度时,找出该长度下整数值最大的那个字符串,在前面部0输出
package com.njupt;
public class Heia {
public String MaxLength(String[] string){
int max=Integer.valueOf(string[0]);
int index=0;
for(int i=1;i<string.length;i++){
int temp=Integer.valueOf(string[i]);
if(max<temp){
max=temp;
index=i;
}
}
if(string[index].length()>=string.length){
return string[index];
}
else{
String str="";
int tem=string.length-string[index].length();
for(int j=0;j<tem;j++){
str +="0";
}
str +=string[index];
return str;
}
}
public static void main(String[] args){
String[] string={"","2","0"};
Heia h=new Heia();
System.out.println(h.MaxLength(string));
}
}
第二题代码:(代码可能还有点问题,等待修改)
import java.util.ArrayList;
public class Test {
public void QuNaer(String string){
ArrayList<String> alist=new ArrayList<>();
string=string.trim();
String str=string.valueOf(string.charAt(0));
for(int i=1;i<string.length();i++){
if(string.charAt(i)=='-'){
str=str.trim();
alist.add(str);
str="-";
}
else{
if(string.charAt(i)!=' '){
str +=string.charAt(i);
}
else{
if(string.charAt(i-1)!=' '){
str +=" ";
}
}
}
}
str=str.trim();
alist.add(str);
System.out.println(alist);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String string="-name Lily -age 21 -school \"zhao yan\"";
//String string =" zhao yan ";
Test t=new Test();
t.QuNaer(string);
}
}
第三题代码:
分析:因为该题的目标是如何使得字符串a通过添加或者减少一下字符,最终得到字符串b
注:字符串a=“bc“,字符串b=”cb“;要进行+c,-c操作
具体做法:
1、遍历字符串a,(当前a的位置为i);
2、判断字符串中第i个位置的字符(a.CharAt(i))是在b中存在;
a、如果存在,从b第一个字符(j=0)开始查找第一个与字符串a当前位置i相等的字符,并b之前字符依次进行+b对应的字符b.CharAt(j),最后将b中 j+1位置前的字符都删除
b、如果不存在,执行-a.CharAt(i)操作。
3、当遍历完字符串a时,判断字符串b中是否还有字符,一次执行+b.CharAt(j)。
package com.njupt;
public class Cont {
public String diff(String a,String b){
String string="";
for(int i=0;i<a.length();i++){
String str=String.valueOf(a.charAt(i));
if(b.contains(str)){
int j=0;
//System.out.println(b.charAt(j)!=a.charAt(i));
while(b.charAt(j)!=a.charAt(i)){
string += "+"+b.charAt(j)+",";
++j;
}
b=b.substring(j+1);
}
else{
string += "-"+a.charAt(i)+",";
}
}
for(int i=0;i<b.length();i++){
string += "+"+b.charAt(i)+",";
}
return string;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String string1="abaced";
String string2="dabababacdb";
Cont c= new Cont();
System.out.println(c.diff(string1, string2));
//System.out.println(string1.substring(1));
}
}