java练习题含答案_第1页
java练习题含答案_第2页
java练习题含答案_第3页
java练习题含答案_第4页
java练习题含答案_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

//Exercise02_06.java:Summarizealldigitsinaninteger<1000

publicclassExercise02_06{

//Mainmethod

publicstaticvoidmain(String[]args){

java.util.Scannerinput=newjava.util.Scanner(System.in);

//Readanumber

System.out.print("Enteranintegerbetween0andWOO:");

intnumber=input.nextlnt();

//Findalldigitsinnumber

intlastDigit=number%10;

intremainingNumber=number/10;

intsecondLastDigit=remainingNumber%10;

remainingNumber=remainingNumber/10;

intthirdLastDigit=remainingNumber%10;

//Obtainthesumofalldigits

intsum=lastDigit+secondLastDigit+thirdLastDigit;

//Displayresults

System.out.println("Thesumofalldigitsin"+number

+"is"+sum);

)

}

publicclassExercise03_19{

publicstaticvoidmain(String[]args){

java.util.Scannerinput=newjava.util.Scanner(System.in);

//Enterthreeedges

System.out.print(

''Enterthreeedges(lengthindouble):");

doubleedgel=input.nextDouble();

doubleedge2=input.nextDouble();

doubleedge3=input.nextDouble();

//Displayresults

booleanisValid=(edgel+edge2>edge3)&&

(edgel+edge3>edge2)&&(edge2+edge3>edgel);

//Displayresults

if(isValid){

System.out.println("Theperimeteris"+(edgel+edge2+edge3));

}

else{

System.out.println("lnputisinvalid");

)

)

)

importjava.util.Scanner;

publicclassExercise05_47{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.print("Enterthefirst12-digitofanISBNnumberasastring:");

Strings=input.nextLine();

if(s.length()!=12){

System.out.printlnis+"isaninvalidinput");

System.exit(1);

}

//Calculatechecksum

if(isPalindrome(number))

System.out.printlninumber+"ispalindrome");

else

System.out.printlninumber+"isnotpalindrome');

)

publicstaticbooleanisPalindrome(intnumber){

returnnumber==reverse(number);

}

publicstaticintreverse(intnumber){

intresult=0;

while(number!=0){

intremainder=number%10;

result=result*10+remainder;

number=number/10;

}

returnresult;

)

)

publicclassExercise06_07{

publicstaticvoidmain(String[]args){

java.util.Scannerinput=newjava.util.Scanner(System.in);

//Enterloanamount

System.out.print(

•'Enterinvestmentamount,forexample100:");

doubleinvestmentAmount=input.nextDouble();

//Enteryearlyinterestrate

System.out.print(

"Enteryearlyinterestrate,forexample5.25:*');

doubleannuallnterestRate=input.nextDouble();

System.out.printf("%-5s%20s\n","Years","FutureValue");

for(inti=1;i<=30;i++){

doublefutureValue=

futurelnvestmentValue(investmentAmount,annuallnterestRate/1200,i);

System.out.printf("%-5d%20.2f\nH,i,futureValue);

)

}

publicstaticdoublefuturelnvestmentValue(doubleinvestmentAmount,

doublemonthlylnterestRate,intyears){

returninvestmentAmount*Math.pow(1+monthlylnterestRate,years*12);

)

)

importjava.util.Scanner;

publicclassExercise06_37{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.print("Enteraninteger:");

intnumber=input.nextlnt();

System.out.print("Enterthewidth:");

intwidth=input.nextlnt();

System.out.println("Theformattednumberis"+format(number,width));

}

publicstaticStringformat(intnumber,intwidth){

Stringresult=number+

for(inti=0;i<width-len(number);i++)

result="0"+result;

returnresult;

}

publicstaticintlen(intnumber){

intsize=0;

while(number>0){

size+=1;

number=number/10;

}

returnsize;

}

)

publicclassExercise07_23{

publicstaticvoidmain(String[]args){

//Declareaconstantvalueforthenumberoflockers

finalintNUMBER_OF_LOCKER=100;

//Createanarraytostorethestatusofeacharray

//Thefirststudentclosedalllockers,eachlockers|i]isfalse

boolean[]lockers=rewboolean[NUMBER_OF_LOCKER];

//Eachstudentchangesthelockers

for(intj=1;j<=NUMBER_OF_LOCKER;j++){

//StudentSjchangeseveryjthlocker

//startingfromthelockers[j-1].

for(inti=j-1;i<NUMBER_OF_LOCKER;i+=j){

lockers[i]=!lockers[i];

)

)

//Findwhichoneisopen

for(inti=0;i<NUMBER_OF_LOCKER;i++){

if(lockers[i])

System.out.printlnf'Locker'*+(i+1)+"isopen");

)

}

)

publicclassExercise09_07{

publicstaticvoidmain(StringQargs){

Accountaccount=newAccount(1122,20000);

Account.setAnnuallnterestRate(4.5);

account.withdraw(2500);

account.deposit(3000);

System.out.println("Balanceis"+account.getBalance());

System.out.println("Monthlyinterestis"+

account.getMonthlylnterest());

System.out.println("Thisaccountwascreatedat"+

account.getDateCreated());

)

}

classAccount{

privateintid;

privatedoublebalance;

privatestaticdoubleannuallnterestRate;

privatejava.util.DatedateCreated;

publicAccount(){

dateCreated=newjava.util.Date();

}

publicAccount(intnewd,doublenewBalance){

id=newld;

balance=newBalance;

dateCreated=newjava.util.Date();

}

publicintgetld(){

returnthis.id;

}

publicdoublegetBalance(){

returnbalance;

)

publicstaticdoublegetAnnuallnterestRate(){

returnannuallnterestRate;

)

publicvoidsetld(intnewld){

id=newld;

}

publicvoidsetBalanceidoublenewBalance){

balance=newBalance;

)

publicstaticvoidsetAnnuallnterestRate(doublenewAnnuallnterestRate){

annuallnterestRate=newAnnuallnterestRate;

}

publicdoublegetMonthlylnterest(){

returnbalance*(annuallnterestRate/1200);

)

publicjava.util.DategetDateCreated(){

returndateCreated;

}

publicvoidwithdraw(doubleamount){

balance-=amount;

)

publicvoiddeposit(doubleamount){

balance+=amount;

)

)

publicclassExercise10_09{

publicstaticvoidmain(String[]args){

CourseNewcourse1=newCourseNew("DataStructures");

CourseNewcourse2=newCourseNewf'DatabaseSystems");

coursel.addStudentf'PeterJones");

coursel.addStudentf'BrianSmith");

coursel.addStudentf'AnneKennedy");

coursel.addStudentf'SusanKennedy");

coursel.addStudentf'JohnKennedy");

coursel.addStudent("KimJohnson");

coursel.addStudent("S1n);

coursel.addStudent(HS2");

coursel.addStudentf,S3");

coursel.addStudent("S4");

coursel.addStudent("S5");

coursel.addStudent|"S6");

coursel.addStudent(MS7',);

course2.addStudent("PeterJones");

course2.addStudentf'SteveSmith");

System.out.println("Numberofstudentsincoursel:"

+coursel.getNumberOfStudents());

StringQstudents=coursel.getStudents();

for(inti=0;i<coursel.getNumberOfStudents();i++)

System.out.print(students[i]+

System.out.println();

System.out.print(nNumberofstudentsincourse2:"

+course2.getNumberOfStudents());

counsel.dropStudent("S1");

System.out.println("Numberofstudentsincourse1:"

+coursel.getNumberOfStudents());

students=coursel.getStudents();

for(inti=0;i<coursel.getNumberOfStudents();i++)

System.out.print(students[i]+",");

coursel.clear();

System.out.println("\nNumberofstudentsincoursel:

+coursel.getNumberOfStudents());

)

)

classCourseNew{

privateStringname;

privateStringQstudents=newString[2];

privateintnumberOfStudents;

publicCourseNew(Stringname){

=name;

)

publicvoidaddStudent(Stringstudent){

if(numberOfStudents==students.length){

increaseSize();

}

students[numberOfStudents]=student;

numberOfStudents+-»-;

}

privatevoidincreaseSize(){

String[]temp=newString[students.length*2];

System.arraycopy(students,0,temp,0,students.length);

students=temp;

)

publicStringf]getStudents(){

returnstudents;

)

publicintgetNumberOfStudents(){

returnnumberOfStudents;

)

/**Clearthecourse*/

publicvoidclear(){

for(inti=0;i<numberOfStudents;i++)

students[i]=null;

numberOfStudents=0;

}

/**Removeastudentfromthecourse*/

publicvoiddropStudent(Stringstudent){

for(inti=0;i<numberOfStudents;i++){

if(students[i].equals(student)){

//Movestudents[i+1]tostudents[i],etc.

for(intk=i+1;k<numberOfStudents;k++){

students[k-1]=students[k];

)

numberOfStudents-;

break;

)

}

)

)

publicclassExercise10_12{

publicstaticvoidmain(String[]args){

Triangle2Dr1=newTriangle2D(2,2,5.5,4.9,9.0,10.3);

System.out.println("Areais"+r1.getArea());

System.out.println("Perimeteris"+r1.getPerimeter());

System.out.println(r1.contains(3,3));

System.out.println(r1.contains(newTriangle2D(4,5,10.5,3.2,-0.5,-10.5)));

System.out.println(r1.overlaps(newTriangle2D(3,5,2.3,6.7,5.5,8.8)));

)

)

classTriangle2D{

//MyPointisdefinedinExerciseOQ04

privateMyPointp1,p2,p3;

publicTriangle2D(){

p1=newMyPoint(0,0);

p2=newMyPoint(1,1);

p3=newMyPoint(2,2);

)

publicTriangle2D(doublex1,doubley1,doublex2,doubley2,

doublex3,doubley3){

this.p1=newMyPoint(x1,y1);

this.p2=newMyPoint(x2,y2);

this.p3=newMyPoint(x3,y3);

)

publicTriangle2D(MyPointp1,MyPointp2,MyPointp3){

this.p1=p1;

this.p2=p2;

this.p3=p3;

}

publicMyPointgetP1(){

returnp1;

)

publicvoidsetP1(MyPointp1){

this.p1=p1;

}

publicMyPointgetP2(){

returnp2;

)

publicvoidsetP2(MyPointp2){

this.p2=p2;

)

publicMyPointgetP3(){

returnp3;

}

publicvoidsetP3(MyPointp3){

this.p3=p3;

}

publicdoublegetPerimeter(){

returnp1.distance(p2)+p1.distance(p3)+p2.distance(p3);

)

publicdoublegetArea(i{

doublesidel=p1.distance(p2);

doubleside2=p1.distance(p3);

doubleside3=p2.distance(p3);

doubles=(sidel+side2+side3)/2;

returnMath.sqrt(s*(s-sidel)*(s-side2)*(s-side3));

}

publicbooleancontains(doublex,doubley){

doublemaxX=Math.max(p1.getX(),Math.max(p2.getX(),p3.getX()));

doubleminX=Math.min(p1.getX(),Math.min(p2.getX(),p3.getX()));

doublemaxY=Math.max(p1.getY(),Math.max(p2.getY(),p3.getY()));

doubleminY=Math.min(p1.getY(),Math.min(p2.getY(),p3.getY()));

if(x<minX||x>maxX||y<minY||y>maxY){

returnfalse;//Outsidetheboundingrectangleofthetriangle

}

Line2Dsidel=newLine2D.Double(p1.getX(),p1.getY(),p2.getX(),p2.getY());

Line2Dside2=newLine2D.Double(p1.getXQ,p1.getY(),p3.getX(),p3.getY());

Line2Dside3=newLine2D.Double(p2.getX(),p2.getY(),p3.getX(),p3.getY());

if(side1.contains(x,y)||side2.contains(x,y)||side3.contains(x,y)){

returntrue;〃Ontheborderofthetriangle

}

doubletopY=-10;

if(x==p1.getX()){

topY=p1.getY();

)

elseif(x==p2.getX()){

topY=p2.getY();

}

elseif(x==p3.getX()){

topY=p3.getY();

)

Line2Dline;

if(y<topY)

line=newLine2D.Double(x,y,x,minY);

else

line=newLine2D.Double(x,y,x,maxY);

inthits=0;

if(ersectsLine(sidel))

hits++;

if(ersectsLine(side2))

hits++;

if(ersectsLine(side3))

hits++;

if(hits%2==0)

returnfalse;

else

returntrue;

}

/**Returntrueifatriangleiscontainedinthistriangle*/

publicbooleancontains(Triangle2Dt){

//Ifatriangleiscontainedinthistriangle,allitsthreepointsmustcontaininthis

triangle

returncontains(t.getP1().getX(),t.getP1().getY())&&

contains(t.getP2().getX(),t.getP2().getY())&&

contains(t.getP3().getX(),t.getP3().getY());

)

/**Returntrueifatriangleoverlapswiththistriangle*/

publicbooleanoverlaps(Triangle2Dt){

//Twotrianglesoverlapifoneisinsidetheotherorasidein

//onetriangleintersectsasideintheothertriangle

Line2Dlinel=newLine2D.Double(t.p1.getX(),t.p1.getY(),t.p2.getX(),t.p2.getY());

Line2DIine2=newLine2D.Double(t.p1.getX(),t.p1.getY(),t.p3.getX(),t.p3.getY());

Line2DIine3=newLine2D.Double(t.p2.getX(),t.p2.getY(),t.p3.getX(),t.p3.getY());

Line2Dsidel=newLine2D.Double(p1.getX(),p1.getY(),p2.getX(),p2.getY());

Line2Dside2=newLine2D.Double(p1.getX(),p1.getY(),p3.getX(),p3.getY());

Line2Dside3=newLine2D.Double(p2.getX(),p2.getY(),p3.getX(),p3.getY());

returncontains(t)||t.contains(this)||

linelJntersectsLine(side1)||

linelJntersectsLine(side2)||

linelJntersectsLine(side3)||

ersectsLine(side1)||

ersectsLine(side2)||

ersectsLine(side3)||

HersectsLine(side1)||

ersectsLine(side2)||

ersectsLine(side3);

)

)

publicclassExercise10_27{

publicstaticvoidmain(String[]args){

MyStringBuilderls1=

newMyStringBuilderl(newchar[]{'a','b','c't'd','p'});

MyStringBuilderls2=newMyStringBuilderl("xyz");

//System.out.println(s1.length());

//System.out.println(s1.charAt(3));

//

//s2.append(123456789);

//

//System.out.println(s2.toString());

//System.out.println(s1.substring(1,2));

//

//s1.reverse();

//System.out.println(s1.substring(2));

System.out.println(s1.toUpperCase().toString());

}

)

classMyStringBuilderl{

privateintsize=0;

privateintcapacity=0;

privatecharQbuffer;

publicMyStringBuilderl(){

}

publicMyStringBuilderl(char[]chars){

buffer=newchar[chars.length];

size=capacity=chars.length;

System.arraycopy(chars,0,buffer,0,chars.length);

)

publicMyStringBuilderl(Strings){

capacity=size=s.length();

buffer=newchar[capacity];

for(inti=0;i<s.length。;i++)

buffer[i]=s.charAt(i);

)

privatevoidincreaseCapacity(intnewCapacity){

char[]temp=newchar[newCapacity];

System.arraycopy(buffer,0,temp,0,size);

capacity=newCapacity;

buffer=temp;

)

publicMyStringBuilderlappend(MyStringBuilder1s){

if(capacity<size+s.length()){

increaseCapacity(2*(size+s.length()));

}

for(inti=0;i<s.length();i++)

buffer[i+size]=s.charAt(i);

size+=s.length();

returnthis;

)

publicMyStringBuilderlappend(inti){

returnappend(newMyStringBuilderl(String.valueOf(i)));

)

publicintlength(){

returnsize;

}

publiccharcharAt(intindex){

returnbuffer[index];

)

publicMyStringBuilderltoLowerCase(){

for(inti=0;i<size;i++)

buffer[i]=Character.toLowerCase(buffer[i]);

returnthis;

)

publicMyStringBuilderlsubstring(intbegin,intend){

char[]result=newchar[end-begin];

for(inti=0;i<result.length;i++)

result[i]=buffer[begin+i];

returnnewMyStringBuilderl(result);

)

©Override

publicStringtoString(){

char。temp=newchar[size];

for(inti=0;i<size;i++)

temp[i]=buffer[i];

returnnewString(temp);

)

//Exercise8.30:

publicMyStringBuilderlinsert(intoffset,MyStringBuilderls){

if(capacity<size+s.length()){

increaseCapacity(2*(size+s.length()));

)

Stringtemp=s.toString();

for(inti=0;i<temp.length();i++)

buffer[size-1+temp.length()-i]=buffer[size-1-i];

for(inti=0;i<temp.length();i++)

buffer[i+offset]=temp.charAt(i);

size+=temp.length();

returnthis;

}

publicMyStringBuilderlreverse(){

for(inti=0;i<size:2;i++){

chartemp=buffer[i];

buffer[i]=buffer[size-1-i];

buffer[size-1-i]=temp;

}

returnthis;

}

publicMyStringBuilderlsubstring(intbegin){

returnsubstring(begin,size);

)

publicMyStringBuilderltollpperCase(){

for(inti=0;i<size;i++)

buffer[i]=Character.tollpperCase(buffer[i]);

returnthis;

)

)

publicclassExercise10_28{

publicstaticvoidmain(String[]args){

MyStringBuilder2s1=

newMyStringBuilder2(newchar[]{'a','b','c','d','p'});

MyStringBuilder2s2=newMyStringBuilder2("xyz");

//System.out.println(s1.length());

//System.out.println(s1.charAt(3));

//

//s2.append(123456789);

//

//System.out.println(s2.toString());

//System.out.println(s1.substring(1,2));

//

//s1.reverse();

//System.out.println(s1.substring(2));

System.out.println(s1.toUpperCase().toString());

}

)

classMyStringBuilder2{

privateintsize=0;

privateintcapacity=0;

privatecharQbuffer;

publicMyStringBuilder2(){

}

publicMyStringBuilder2(char[]chars){

buffer=newchar[chars.length];

size=capacity=chars.length;

System.arraycopy(chars,0,buffer,0,chars.length);

}

publicMyStringBuilder2(Strings){

capacity=size=s.length();

buffer=newchar[capacity];

for(inti=0;i<s.length();i++)

buffer[i]=s.charAt(i);

)

privatevoidincreaseCapacity(intnewCapacity){

char[]temp=newchar[newCapacity];

System.arraycopy(buffer,0,temp,0,size);

capacity=newCapacity;

buffer=temp;

)

publicintlength(){

returnsize;

}

publicMyStringBuilder2substring(intbegin,intend){

charQresult=newchar[end-begin];

for(inti=0;i<result.length;i++)

result[i]=buffer[begin+i];

returnnewMyStringBuilder2(result);

)

//Exercise8.30:

publicMyStringBuilder2insert(intoffset,MyStringBuilder2s){

if(capacity<size+s.length()){

increaseCapacity(2*(size+s.length()));

}

Stringtemp=s.toString();

for(inti=0;i<temp.length();i++)

buffer[size-1+temp.length()-i]=buffer[size-1-i];

for(inti=0;i<temp.length();i++)

buffer[i+offset]=temp.charAt(i);

size+=temp.length();

returnthis;

)

publicMyStringBuilder2reverse(){

for(inti=0;i<size;2;i++){

chartemp=buffeiji];

buffer[i]=buffer[size-1-i];

buffer[size-1-i]=temp;

)

returnthis;

)

publicMyStringBuilder2substring(intbegin){

returnsubstring(begin,size);

)

publicMyStringBuilder2toUpperCase(){

for(inti=0;i<size;i++)

buffer[i]=Character.tollpperCase(buffer[i]);

returnthis;

}

)

importjava.util.*;

publicclassExercise11_02{

publicstaticvoidmain(String[]args){

)

)

classPerson{

protectedStringname;

protectedStringaddress;

protectedStringphoneNumber;

protectedStringemail;

©Override

publicStringtoString(){

return"Person1';

}

)

classStudentlextendsPerson{

publicstaticintFRESHMAN=1;

publicstaticintSOPHOMORE=2;

publicstaticintJUNIOR=3;

publicstaticintSENIOR=4;

protectedintstatus;

©Override

publicStringtoString(){

return"Student',;

}

)

classEmployeeextendsPerson{

protectedStringoffice;

protectedintsalary;

protectedCalendardateHired;

©Override

publicStringtoString(){

return"Employee";

)

)

classFacultyextendsEmployee{

publicstaticintLECTURER=1;

publicstaticintASSISTANT_PROFESSOR=2;

publicstaticintASSOCIATE_PROFESSOR=3;

publicstaticintPROFESSOR=4;

protectedStringofficeHours;

protectedintrank;

©Override

publicStringtoString(){

return"Faculty";

)

)

classStaffextendsEmployee{

protectedStringtitle;

©Override

publicStringtoString(){

return"Staffstitleis"+title;

}

)

publicclassExercise11_08{

publicstaticvoidmain(StringQargs){

Account1.setAnnuallnterestRate(5.5);

Accountlaccount=newAccount1("GeorgeH,1122,1000);

account.deposit(30);

account.deposit(40);

account.deposit(50);

account.withdraw(5);

account.withdraw(4);

account.withdraw(2);

System.out.println("Name:"+account.getName());

System.out.println("Annualinterestrate:"+Account1.getAnnuallnterestRate());

System.out.println("Balance:"+account.getBalance());

java.util.ArrayListlist=account.getTransactions();

System.out.printf(H%-35s%-15s%-15s%-15s\n","Date","Type","Amcunt",

,'Balance");

for(inti=0;i<list.size();i++){

Transactiontransaction=(Transaction)(list.get(i));

System.out.printf("%-35s%-15s%-15s%-15s\n",transaction.getDate(),

transaction.getType(),transaction.getAmount(),transaction.getBalance());

)

)

}

classAccountl{

privateintid;

privateStringname;

privatedoublebalance;

privatestaticdoubleannuallnterestRate;

privatejava.util.DatedateCreated;

privatejava.util.ArrayListtransactions=newjava.util.ArrayList();

publicAccount1(){

dateCreated=newjava.util.Date();

}

publicAccountl(Stringname,intid,doublebalance){

this.id=id;

=name;

this.balance=balance;

dateCreated=newjava.util.Date();

)

publicintgetld(){

returnthis.id;

)

publicdoublegetBalance(){

returnbalance;

)

publicjava.util.ArrayListgetTransactions(){

returntransactions;

)

publicStringgetName(){

returnname;

}

publicstaticdoublegetAnnuallnterestRate(){

returnannuallnterestRate;

)

publicvoidsetld(intid){

this.id=id;

)

publicvoidsetBalancejdoublebalance){

this.balance=balance;

}

publicstaticvoidsetAnnuallnterestRate(doubleannuallnterestRate){

Accountl.annuallnterestRate=annuallnterestRate;

)

publicdoublegetMonthlylnterest(){

returnbalance*(annuallnterestRate/1200);

)

publicjava.util.DategetDateCreated(){

returndateCreated;

}

publicvoidwithdraw(doubleamount){

balance-=amount;

transactions.add(newTransaction('W',amount,balance,

}

publicvoiddeposit(doubleamount){

balance+=amount;

transactions.add(newTransaction('D',amount,balance,

}

)

classTransaction{

privatejava.util.Datedate;

privatechartype;

privatedoubleamount;

privatedoublebalance;

privateStringdescription;

publicTransaction(chartype,doubleamount,doublebalance,

Stringdescription){

date=newjava.util.Date();

this.type=type;

this.amount=amount;

this.balance=balance;

this.description=description;

}

publicjava.util.DategetDate(){

returndate;

)

publicchargetType(){

returntype;

}

publicdoublegetAmount(){

returnamount;

)

publicdoublegetBalance(){

returnbalance;

)

publicStringgetDescription(){

returndescription;

)

)

publicclassExercise12_05{

publicstaticvoidmain(String[]args){

try{

TriangleWithExceptiont1=newTriangleWithException(1.5,2,3);

System.out.println("Perimeterfort1:"+t1.getPerimeter());

System.out.printlni"Areafort1:"+t1.getArea());

TriangleWithExceptiont2=newTriangleWithException(1,2,3);

System.out.printlni"Perimeterfort2:"+t2.getPerimeter());

System.out.println("Areafort2:"+t2.getArea());

}

catch(HlegalTriangleExceptionex){

System.out.printlnf'lllegaltriangle");

System.out.println("Side1:"+ex.getSide1());

System.out.println("Side2:"+ex.getSide2());

System.out.println("Side3:"+ex.getSide3());

}

)

)

classIllegal?riangleExceptionextendsException{

privatedoublesidel,side2,side3;

publicHlegalTriangleException(doublesidel,

doubleside2,doubleside3,Strings){

super(s);

this.sidel=sidel;

this.side2=side2;

this.side3=side3;

)

publicdoublegetSide1(){

returnsidel;

}

publicdoublegetSide2(){

returnside2;

}

publicdoublegetSide3(){

returnside3;

)

)

classTriangleWithExceptionextendsObject{

doublesidel,side2,side3;

/**Constructor*/

publicTriangleWithException(doublesidel,doubleside2,doubleside3)

throwsHlegalTriangleException{

this.sidel=sidel;

this.side2=side2;

this.side3=side3;

if(sidel+side2<=side3||sidel+side3<=side2||side2+side3<=sidel)

thrownewHlegalTriangleException(side1,side2:side3,

"Thesumofanytwosidesisgreaterthantheotherside");

}

/**ImplementtheabstractmethodfindAreainGeometricObject*/

publicdoublegetArea(){

doubles=(sidel+side2+side3)/2;

returnMath.sqrt(s*(s-sidel)*(s-side2)*(s-side3));

)

/**ImplementtheabstractmethodfindCircumferencein

*GeometricObject

*7

publicdoublegetPerimeter(){

returnsidel+side2+side3;

}

©Override

publicStringtoString(){

//Implementittoreturnthethreesides

return"Triangle:sidel="+sidel+"side2="+side2+

"side3="+side3;

)

}

importjava.util.*;

importjava.io.*;

publicclassExercise12_12{

/**Mainmethod*/

publicstaticvoidmain(String[]args)throwsException{

//Checkcommandlineparameterusage

if(args.length!=1){

System.out.printlni

"Usage:javaExercise12_12filename");

System.exit(1);

)

//Checkifsourcefileexists

FilesourceFile=newFile(args[O]);

if(!sourceFile.exists()){

System.out.println("Sourcefile"+args[0]+"notexist'*);

System.exit(2);

}

StringBuilderbuffer=newStringBuilder();

Scannerinput=newScanner(sourceFile);

while(input.hasNexti)){

Strings=input.nextLine();

Strings1=s.trim();

if(sl.charAt(O)=='{'){

buffer.append("{*');

if(s1.length()>1)buffer.append("\r\n"+s.replace("{',''));

)

else

buffer.append("\r\n"+s);

}

input.close();

//Writebufferintothefile

Printwriteroutput=newPrintWriter(sourceFile);

output.print(buffer.toString());

output.close();

)

}

importjava.io.*;

importjava.util.*;

publicclassExercise12_13{

publicstaticvoidmain(Stringargs[])throwsException{

//Checkusage

if(args.length!=1){

System.out.println("Usage:javaExercise12_13file");

System.exit(1);

}

//Checkifsourcefileexists

FilesourceFile=newFile(args[O]);

if(!sourceFile.exists()){

System.out.println("Sourcefile"+args[O]+"doesnotexist");

System.exit(2);

)

//CreateaScannerforthefile

Scannerinput=newScanner(sourceFile);

intwordCount=0,lineCount=0;

while(input.hasNexti)){

StringoneLine=input.nextLine();

lineCount++;

wordCount+=countWords(oneLine);

}

System.out.println(HFile"+sourceFile+"has");

System.out.println(sourceFile.length()+"characters");

System.out.println(wordCount+"words");

System.out.println(lineCount+"lines");

)

privatestaticintcountWords(Strings){

String[]words=s.split("[WtWnWr]");

intcount=0;

for(Stringword:words)

if(word.length()>0)

count++;

returncount;

}

///**Alternativeway*/

//privatestaticintcountWords(Strings){

//Scannerinput=newScanner(s);

//intcount=0;

//

//

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论