int comparewith(String s1,String s2,int num){
s1 = new String();
s2 = new String();
int number;
for(int i=0;i<num;i++)
{
if(s1.charAt(i)>s2.charAt(i))
{
number = 1;
break;
}
else if(s1.charAt(i)<s2.charAt(i))
{
number = -1;
break;
}
else
{
number = 0;
break;
}
return number;
}
}
why it registers me :the method must be return a result of type int ?
s1 = new String();
s2 = new String();
int number;
for(int i=0;i<num;i++)
{
if(s1.charAt(i)>s2.charAt(i))
{
number = 1;
break;
}
else if(s1.charAt(i)<s2.charAt(i))
{
number = -1;
break;
}
else
{
number = 0;
break;
}
return number;
}
}
why it registers me :the method must be return a result of type int ?
s1 = new String();
s2 = new String();
int number=0;
for(int i=0;i <num;i++)
{
if(s1.charAt(i)>s2.charAt(i))
{
number = 1;
break;
}
else if(s1.charAt(i) <s2.charAt(i))
{
number = -1;
break;}
else
{
number = 0;
break;
}
}
return number;
}
//这么改虽然没出编译出错,但是你这程序有问题!
static int comparewith(String s1,String s2,int num){
s1 = new String(); //这个地方有问题!
s2 = new String();
int number=0;
for(int i=0;i <num;i++) {
if(s1.charAt(i)>s2.charAt(i)) { //这里也有问题!
number = 1;
break;
} else if(s1.charAt(i) <s2.charAt(i)) {
number = -1;
break;
}
else
{
number = 0;
break;
}
}
return number; //改了这里
}
/**
*String 是一个类,当对象s1传过来以后,你又new了一个对象导致他的内容是空的啊!报出
*StringIndexOutOfBoundsException异常。简单说就是s1 和s2永远是空值。
*/
//s1 = new String();
//s2 = new String();
int number=0;
for(int i=0;i < num -1;i++) {
if(s1.charAt(i)>s2.charAt(i)) {
number = 1;
break;
} else if(s1.charAt(i) <s2.charAt(i)) {
number = -1;
break;
}
else
{
number = 0;
break;
}
}
return number; //返回要在最后啊
}
int comparewith(String s1,String s2,int num){
//s1 = new String();
//s2 = new String();
int number;
for(int i=0;i <num;i++)
{
if(s1.charAt(i)>s2.charAt(i))
{
number = 1;
break;
}
else if(s1.charAt(i) <s2.charAt(i))
{
number = -1;
break; }
else
{
number = 0;
break;
}
}
return number;
}
public class StringCompare {
public static int compareWith(String s1,String s2,int num){
int value = 0;
for(int i=0;i<num;i++){
if(s1.charAt(i)>s2.charAt(i)){
value = 1;
return value;
}
else if(s1.charAt(i)<s2.charAt(i)){
value = -1;
return value;
}
else
return value;
}
return s1.compareTo(s2);
}
public static void main(String[] args){
System.out.println(compareWith("cheng","csdn",4));
}
}