最近开始学JAVA了,用张思名的那本教程,还不错,不过实验没有电子档的程序,所以自己都敲出来运行了一遍。发出来希望给用这本教材的同路人提供些方便。不过,编程这东西,还是要自己多去敲到电脑里运行才行:光看是一个层次,光运行是一个层次,而敲出来运行又是一个层次。当然自己写,那自然是最好的。
ps:本人只是个超级菜鸟,来这个牛人遍地的CSDN写博客只是为了激励自己可以不停的学下去,同时希望找到和自己一样的人来一起努力和交流。所以牛人们就不要BS我了。
实验四
//第一个程序
package tom.jiafei;
public class Father
{
int height;
protected int money;
public int weight;
public Father(int m)
{
money=m;
}
protected int getMoney()
{
return money;
}
void setMoney(int newMoney)
{
money=newMoney;
}
}
//这个程序是为了说明package——打包的用法
//这个放在jiafei文件夹中的tom文件夹中,而对应的Jerry程序需要
//放在与jiafei文件夹同等的文件夹中
import tom.jiafei.Father;
public class Jerry extends Father
{
public Jerry()
{
super(20);
}
public static void main(String args[])
{
Jerry jerry=new Jerry();
jerry.height=12;
jerry.weight=200;
jerry.money=800;
int m=jerry.getMoney();
jerry.setMoney(300);
System.out.println("m="+m);
}
}
//第二个程序,接口的例子
interface ShowMessage
{
void displog(String s);
}
class TV implements ShowMessage
{
public void displog(String s)
{
System.out.println(s);
}
}
class PC implements ShowMessage
{
public void displog(String s)
{
System.out.println(s);
}
}
public class Example4_28
{
public static void main(String args[])
{
ShowMessage sm;
sm=new TV();
sm.displog("XX牌电视机");
sm=new PC();
sm.displog("XX牌计算机");
}
}
//要求自己编写的程序,求素数
package abc.test;
//执行ZS时不用打包
public class ZhiShu
{
int n;
public ZhiShu(int m)
{
n=m;
}
public void dispzhishu()
{
int i,j=2,k=3; //i为测试素数用,j为待测的素数,k为素数的个数
System.out.println("0到n之间的第1个素数是:1");
System.out.println("0到n之间的第2个素数是:2");
int flag=1;
for(j=3;j<=n;j++)
{
for(i=2;i<(j/2);i++) //用flag标志此时的j是否是素数,0表示否,1表示是
{
if(j%i==0)flag=0;
}
if(flag==1)
{
System.out.println("0到n之间的第"+k+"个素数是:"+j);
}
flag=1;
}
}
}
//用于调用的程序
public class ZS
{
public static void main(String args[])
{
ZhiShu a=new ZhiShu(50);
a.dispzhishu();
}
}
//这个程序是为了说明package——打包的用法
//是为了说明在同一目录下和不同目录下调用程序的做法
//本实验要求掌握一下内容:
//1.打包机制,明确“打包”和对应的程序位置关系;
//2.理解访问控制机制,明确private,default,protect,public的意思;
//3.接口机制
实验五
class Ex5_1
{
public static void main(String args[])
{
String a[]={"boy","apple","Applet","girl","Hat"};
for(int i=0;i<=a.length-1;i++)
{
for(int j=i+1;j<a.length-1;j++)
{
if(a[j].compareTo(a[i])<0);
{
String temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(int i=0;i<a.length;i++)
{
System.out.println(" "+a[i]);
}
}
}
import java.util.*;
public class Ex5_2
{
public static void main(String args[])
{
String s="I am real lb,yes";
StringTokenizer fenxi=new StringTokenizer(s,",");
int number=fenxi.countTokens();
while(fenxi.hasMoreTokens())
{
String str=fenxi.nextToken();
System.out.println(str);
System.out.println("还剩"+fenxi.countTokens()+"个单词");
}
System.out.println("s共有单词:"+number+"个");
}
}
//这两个程序主要是为了说明数组和字符串的用法,特别要注意字符串的一些常用方法
import java.util.*;
class StrConnect
{
public static void main(String[] args)
{
String s1="Tom like it too.";
String s2="Mary like drinking coffee";
byte d1[]=s1.getBytes();
byte d2[]=s2.getBytes();
byte d0[]=new byte[100];
for (int i=0;i<d2.length;i++)
{
d0[i]=d2[i];
}
d0[d2.length]=',';
for (int i=0;i<d1.length;i++)
{
d0[i+d2.length+1]=d1[i];
}
d0[d1.length+d2.length+1]=' ';
String s=new String(d0,0,(d1.length+d2.length+2));
System.out.println(s);
}
}
//用for实现字符串的连接