System.out.println("max="+max+"min="+min);
}
}
3.运行下面的程序,写出运行结果,解释每种格式的含义。
importjava.util.Calendar;
publicclassCommandParameter{
publicstaticvoidmain(String[]args){
longn=461012;
System.out.printf("%d%n",n);整型输出
System.out.printf("%08d%n",n);
System.out.printf("%+8d%n",n);
System.out.printf("%,8d%n",n);
System.out.printf("%+,8d%n%n",n);
doublepi=Math.PI;
System.out.printf("%f%n",pi);
System.out.printf("%.3f%n",pi);
System.out.printf("%10.3f%n",pi);
System.out.printf("%-10.3f%n",pi);
Calendarc=Calendar.getInstance();
System.out.printf("%tB%te,%tY%n",c,c,c);
System.out.printf("%tl:
%tM%tp%n",c,c,c);
System.out.printf("%tD%n",c);
}
}
结果:
461012
00461012
+461012
461,012
+461,012
3.141593
3.142
3.142
3.142
五月28,2012
12:
55上午
05/28/12
评语:
日期:
年月日
实验内容:
(选择其一)
一.写一个名为Stock的类模拟股票,类包含符号标志、名称、前期收盘价、当前价等属性,包含构造器方法和计算价格变化方法。
类结构如下表:
Stock
privateStringsymbol
privateStringname
privatedoublepreviousClosingPrice
privatedoublecurrentPrice
publicStock()
publicStock(Stringsymbol,Stringname)
publicStringgetSymbol()
publicStringgetName()
publicdoublegetPreviousClosingPrice()
publicdoublegetCurrentPrice()
publicvoidsetSymbol(Stringsymbol)
publicvoidsetName(Stringname)
publicvoidsetPreviousClosingPrice(doublepreviousClosingPrice)
publicvoidsetCurrentPrice(doublecurrentPrice)
publicdoublechangePercent()
请实现Stock类,并另写一个类来测试Stock类。
在测试类中,创建一个Stock对象,其股票标志为SUN、名称为SunMircosystemInc、前期收盘价为100。
随机设置一个新的当前价,显示价格变化比例。
packagestock;
publicclassStock{
privateStringsymbol;
privateStringname;
privatedoublepreviousPrice;
privatedoublecurrentPrice;
publicStock(){
}
publicStock(Stringsymbol,Stringname){
this.symbol=symbol;
this.name=name;
}
publicStringgetSymbol(){
returnsymbol;
}
publicStringgetName(){
returnname;
}
publicdoublegetPreviousPrice(){
returnpreviousPrice;
}
publicdoublegetCurrentPrice(){
returncurrentPrice;
}
publicvoidsetSymbol(Stringsymbol){
this.symbol=symbol;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicvoidsetPreviousPrice(doublepreviousPrice){
this.previousPrice=previousPrice;
}
publicvoidsetCurrentPrice(doublecurrentPrice){
this.currentPrice=currentPrice;
}
publicdoublechangePercent(){
return((currentPrice-previousPrice)/previousPrice);
}
publicstaticvoidmain(String[]args){
}
}
importjava.util.Scanner;
importstock.Stock;
publicclassTestStock{
publicstaticvoidmain(String[]args){
Stocksun=newStock("SUN","SunMircosystemInc");
doublex=100.0d;
sun.setPreviousPrice(x);
Scannerscan=newScanner(System.in);
System.out.println("前期收盘价为100,"
+"请输入一个新的当前价:
");
sun.setCurrentPrice(scan.nextDouble());
System.out.printf("\n价格变化为:
");
System.out.println(sun.changePercent()*100+
"%");
}
}
实验二Java输入输出
一.File类的应用-文件、文件夹的建立、删除、重命名等
package文件类应用;
importjava.io.File;
importjava.io.IOException;
publicclass文件类应用{
publicstaticvoidmain(String[]args)throwsIOException{
Filefile=newFile("d:
/","myfolder");
file.mkdir();
Filefile1=newFile("d:
/myfolder/my.txt");
file1.createNewFile();
System.out.println("文件夹建立"+file.exists());
System.out.println("文件建立"+file1.exists());
FilefileNew=newFile(file1.getParent(),"ThisisNewName.txt");
System.out.println("原始名字为:
"+file1.getName());
booleana;
if(a=file1.renameTo(fileNew)){
System.out.println("的重命名为:
"+fileNew.getName());
}
System.out.println("下面建立并删除file2文件");
Filefile2=newFile("d:
/myfolder/2.txt");
file2.createNewFile();
System.out.println("文件夹file2建立"+file.exists());
System.out.println("删除file2:
"+file2.delete());
}
}
//二.将一个文本文件用readLine()读出到屏幕,并将其写入到另外一个文件中。
package读文件readline;
importjava.io.*;
publicclass读文件readline{
publicstaticvoidmain(String[]args)throwsIOException{
System.out.println("下面从当前准备好的文件JAVA.txt中读取信息");
Filefile=newFile("d:
/","JAVA.txt");
try(BufferedReaderbufferedReader=newBufferedReader(new
InputStreamReader(newFileInputStream(file),"GBK"))){
FilefileNew=newFile("d;/","NewFile.txt");
fileNew.createNewFile();
try(FileWriterfileWriter=newFileWriter(fileNew)){
BufferedWriterbufferedWriter=newBufferedWriter(fileWriter);
Stringstr=null;
str=bufferedReader.readLine();
while(str!
=null){
System.out.println(str);
fileWriter.write(str);
fileWriter.flush();
str=bufferedReader.readLine();
}
}
}
}
}
实验三异常处理机制
实验内容:
1.输入两个数据,显示两个数的商。
●当除数或被除数不是数字时抛出NumberFormatExcetpion,并用try…catch…finally语句进行处理。
●当除数为0时,捕获ArithmeticException,并在控制台上打印异常信息。
●自定义异常LowerThanZeroException,当除数、被除数小于0时抛出,
package除法异常;
importjava.util.Scanner;
publicclass除法异常{
staticintdividend;
staticintdivisor;
staticdoubleresult;
publicstaticvoidmain(String[]args){
Scannerscan=newScanner(System.in);
booleanjudge=false;
while(!
judge){
judge=true;
try{
System.out.println("请输入被除数:
");
dividend=scan.nextInt();
System.out.println("请输入除数:
");
divisor=scan.nextInt();
if(divisor==0){
thrownewArithmeticException();
}
if(dividend<0||divisor<0){
thrownewLowerThanZeroException();
}
result=(double)dividend/divisor;
}
catch(LowerThanZeroExceptione1){
judge=false;
System.out.println(e1.toString());
}
catch(ArithmeticExceptione2){
judge=false;
System.out.println(e2.toString());
}
catch(java.util.InputMismatchExceptione3){
judge=false;
thrownewNumberFormatException();
}
finally{
if(judge){
System.out.println("结果为:
"+result);
}
else{
System.out.println("请重新输入:
");
}
}
}
}
}
classLowerThanZeroExceptionextendsException{
priva