扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
有三种方法实现
创新互联主要从事网站制作、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务岳西,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
第一种直接用字符串类的compareTo方法:
String t1="20131011";
String t2="20131030";
int result = t1.compareTo(t2);
第二种是把这个日期字符串转换成long:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date d1 = sdf.parse(t1);
Date d2 = sdf.parse(t2);
long result = d1.getTime()-d2.getTime();
第三种是把日期字符串转换成整形int:
int int1 = Integer.parseInt(t1);
int int2 = Integer.parseInt(t2);
int result = int1-int2;
注:result大于0,则t1t2;
result等于0,则t1=t2;
result小于0,则t1t2;
1、采用循环,循环b的每个字符
2、用replace方法把a中的当前循环的字符用""替换replace(当前字符, "");
3、循环完了就剩下b中不包含的字符串了Stringc = 24;
4、再循环c,跟上面的步骤一样去除a中包含的c中的字符2,4,剩下的字符串和b是一样的。
java中字符串的比较用的是equals方法。
代码修改如下:
import java.io.*;
class GameHelper {
public String getUserInput(String prompt) {
String inputLine = null;
System.out.print(prompt + " ");
try {
BufferedReader is = new BufferedReader(new InputStreamReader(System.in));
inputLine = is.readLine();
if (inputLine.length() == 0)
return null;
} catch (Exception e) {
System.out.println("IOException: " + e);
}
return inputLine;
}
}
public class Demo {
public static void main (String[] arges) {
GameHelper helper = new GameHelper();
String input = helper.getUserInput("entrer a command");
if ( input.equals("-yes"))
System.out.println("yes");
else System.out.println("no");
}
}
只需将input == "-yes"改为input.equals("-yes")就行了,字符串型的比较不是用==,是用equals,int型和float型等的比较才能使用==来比较。
int1 int2 long t1="= result 20131011"Integer;SimpleDateFormat("
有三种方法实现
第一种直接用字符串类的compareTo方法; t1; int yyyyMMdd" result小于0; ); nbsp.parseInt(t2);int int1-int2;Datenbsp; sdf;d1 SimpleDateFormat nbsp.getTime();int result sdf;注;Integer:result等于0,则t1=t2.compareTo(t2);t2; ;Date = d2 =nbsp: t2=" d1.getTime()-d2;=
第二种是把这个日期字符串转换成long;= nbsp.parse(t2); = nbsp;String t2:nbsp.parseInt(t1); result String int new ,则t1 sdf =nbsp,则t1
第三种是把日期字符串转换成整形int:result大于0.parse(t1);20131030" =nbsp
一种思路:用 SimpleDateFormat 来处理,可以转成long形式的,那是1970年1月1日起到现在的毫秒数。可以直接比大小了。另外一种思路:因为你这里是用的补全格式(7月写成了07),那么可以直接字面转了比较 public static void main(String[] _s) { String str1 = "2010-07-16 12:00:00"; long longstr1 = Long.valueOf(str1.replaceAll("[-\\s:]","")); System.out.println(longstr1); }这个结果是20100716120000,就这个意思,直接字面转成long形式后比。
java中的字符串比较方法:
1)string1.equals(string2)
2) str1==str2 。
java中字符串的比较是==比较引用,equals 比较值的做法。但是不同的声明方法字符串的比较结果也是不同的。
例如: String str1=new String("a");
String str2=new String("a");
str1==str2 输出false
str1.equals(str2) 输出true
而如果这样声明
String str1="a";
String str2="a";
str1==str2 输出true
str1.equals(str2) 输出true
这是因为 equals 方法本来也是比较引用的字符串类在实现的时候重写了该方法。
第一种声明方法等于是声明了两个对象,用’==‘比较是时候比较的是引用输出的是false 由于他们的值相同用equals的时候就比较的是值了,输出true。
第二种情况不是因为比较有与第一种有差异,而是因为声明有差异,第二种声明方法在声明的时候有堆或堆栈 共用的现象,也就是说 在声明的时候如果如果声明为类属性他会检查在堆栈中有没有与现在声明的是相同结构的字符串。如果有就直接将地址指向已有内存地址。声明在方法内部的局部变量原理一样只不过他是堆栈共享。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流