题目1:保留两位小数输出单精度浮点数的程序(string类的应用)
题目2
题目1
import java.util.*;
public class test {
protected static void fLOATlAST_tWO(float i) {
String tmp=String.valueOf(i);//先用浮点数构造一个string对象
int index=tmp.indexOf('.');//获取小数点的位置下标
String result=tmp.substring(0, index+3);//截取从开始位置到小数点后2位的字符串
System.out.print("结果:"+result);//输出
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan =new Scanner(System.in);
System.out.print("请输入一个有效数字不超过7位的小数:");
float input=scan.nextFloat();
fLOATlAST_tWO(input);
scan.close();
}
}
题目2
无、、
啊这有点偷懒啊 我不是我没有
-
String与StringBuffer类的区别:
-
String是一个final类型的类,所以string的类对象只能赋值一次,对其修改的操作其实是伪操作,准确来说是新创建了一个新的对象,而在代码中也的确体现了这一点。比如题目1中的subString函数应用后是新建了一个字符串result。
-
StringBuffer类则不同,其可以创建可变长和可修改的字符串对象,其字符串实际上是字符串缓冲区,在修改字符串的时候可以在字符串中插入或者增加或者删除部分字符串
-
String类方法可以实现的功能大概有这些:
- 创建字符串方面:创建空串;使用字节数组、字符数组、String对象、StringBuffer对象创建;对字节数组和字符数组可以从指定位置、以指定长度创建
- 访问字符串:获取字符串的长度、字符串内指定下标的字符、字符串内与指定字符相同的第一个下标、从指定位置开始与指定字符相同的第一个下标、与指定字符串相同的第一个下标、从指定位置开始与指定字符串相同的第一个下标;
- 字符串比较方面:与指定字符串是否相同、是否忽略大小写相同、大小比较
- 字符串修改方面:尾部增加、串内查找替换字符/串、截取从指定位置开始到尾/指定位置的字符串、大小写转换
- 将其他类型转换成字符串:包括int long float double
-
StringBuffer类方法支持的功能:
- 创建方面:空字符串、指定容量大小的、指定字符串大小的;
- 访问字符串方面:除了String类的方法,还有一个获取对象容量大小
- 修改方面:重新设置字符串大小、修改指定位置的字符、字符尾部增加不同类型的字符、在指定位置插入字符、删除指定头尾位置的字符
从上面的功能可以分析,stringbuffer类未必比string类要好很多,要看需求。在方法上两种类的思路不太一样,注意区别!!
-