实践二 数组与字符串:
1.
public class GreekAlphabet {
public static void main (String args[ ]) {
int startPosition=0,endPosition=0;
char cStart='α',cEnd='ω';
【代码1】startPosition=(int)cStart ;
//cStart做int型转换据运算,并将结果赋值给startPosition
【代码2】 endPosition=(int) cEnd ;
//cEnd做int型转换运算,并将结果赋值给endPosition
System.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+startPosition);
System.out.println("希腊字母表:");
for(int i=startPosition;i<=endPosition;i++) {
char c='\0';
【代码3】 c=(char)i;
//i做char型转换运算,并将结果赋值给c
System.out.print(" "+c);
if((i-startPosition+1)%10==0)
System.out.println("");
}
}
}
2.public class InputArray {
public static void main (String args[ ]) {
int [] a = {100,200,300};
【代码1】System.out.println(a.length);
// 输出数组a的长度
【代码2】System.out.println(a);
// 输出数组a的引用
int b[][]= {{1}, {1,1},{1,2,1}, {1,3,3,1},{1,4,6,4,1}};
【代码3】System.out.println(b.length);
// 输出二维数组b的一维数组的个数
System.out.println(b[4][2]);
【代码4】b[4]=a;
//将数组a的引用赋给b[4]
System.out.println(b[4][2]);
}
}
3.
import java.util.Arrays;
public class CopyArray {
public static void main (String args[ ]) {
int [] a = {1,2,3,4,500,600,700,800};
int [] b,c,d;
System.out.println(Arrays.toString(a));
b = Arrays.copyOf(a,a.length);
System.out.println(Arrays.toString(b));
c =【代码1】c =Arrays.copyOf(a,4);
//Arrays调用copyOf方法复制数组a的前4个元素
System.out.println(【代码2】Arrays.toString(c)
); //Arrays调用toString方法返回数组c元素值的字符串
d = 【代码3】Arrays.copyOfRange(a,4,a.length);
//Arrays调用copyOfRange方法复制数组a的后4个元素
System.out.println(Arrays.toString(d));
【代码4】c[c.length-1]=-100;
//将-100赋给数组c的最后一个元素
d[d.length-1] = -200;
System.out.println(Arrays.toString(a));
}
}
答案:[1, 2, 3, 4, 500, 600, 700, 800]
[1, 2, 3, 4, 500, 600, 700, 800]
[1, 2, 3, 4]
[500, 600, 700, 800]
[1, 2, 3, 4, 500, 600, 700, 800]
7.编写程序打印以下的杨辉三角形(要求打印出10行)
public static void main(String[] args)
{int i,j, level=6;
int[][] Y =【代码1】new int[level][];
//为Y 创建level行的二维数组
for (i=0;i<Y.length;i++)
Y [i]=【代码2】new int [i+1];
//为Y [i]创建i+1个元素的一维数组
for(i=0;i<a.length;i++)
{ for(j=0;j<=i;j++)
{ if(【代码3】j==0||j==i
) //0列或主对角线元素值为1
a[i][j]=1;
else a[i][j]=【代码4】Y[i-1][j-1]+Y[i-1][j]
;//计算中间的元素的值
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
答案:1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
字符串:
- 分别用 == 和 equals方法比较s1、s2、s3、s4串
public class App1{
public static void main(String[] args) {
String s1=new String("Hello");
String s2=new String("Hello");
String s3="Hello",s4="Hello";
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
System.out.println(s3==s4);
System.out.println(s3.equals(s4));
}
}
结论:
== 比较的是: 数据值
equals方法比较的是: 字符串的内容
- 将字符串转换成int、double、boolean型数据
代码:
public class App1{
public static void main(String[] args) {
String s="123345";
int x=Integer.parseInt(s);
System.out.println(x+3);
String s="123345.5";
double x=double.parseDouble(s);
System.out.println(x+3);
}
}
3.创建StringBuffer字符串,输出其容量。
public class App3{
public static void main(String[] args) {
StringBuffer str=new StringBuffer("rotor");结束后在加几个字符,(rotorjgghg)再看长度
System.out.println(【代码1】str.capacity();
}
}
4.对StringBuffer类型的字符串分别进行添加、插入、删除、替换和反转操作。
代码:public class App3{
public static void main(String[] args) {
StringBuffer str=new StringBuffer("rotor");
添加System.out.println(str.append(45));
插入System.out.println(str.insert(2,"bb"));
删除System.out.println(str.deleteCharAt(5));
替换System.out.println(str.replace(0,4,"test"));
反转System.out.println(str.reverse());
}
}