版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
//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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年重慶市梁平區(qū)精神衛(wèi)生中心招聘5名非在編專業(yè)技術(shù)人員備考題庫(kù)及答案詳解參考
- 2025年寶勝科技創(chuàng)新股份有限公司貴州航空線束分公司招聘?jìng)淇碱}庫(kù)及答案詳解參考
- 敖漢語(yǔ)文考試卷子及答案
- 佛山市順德北滘中學(xué)面向2026屆畢業(yè)生赴高校設(shè)點(diǎn)公開招聘教師(第二批)5人備考題庫(kù)有答案詳解
- 2025年湖南投資集團(tuán)股份有限公司繞城公路西南段分公司招聘12人備考題庫(kù)及參考答案詳解1套
- 2025年武漢大學(xué)遙感備考題庫(kù)工程學(xué)院高精度智能遙感衛(wèi)星課題組招聘?jìng)淇碱}庫(kù)及參考答案詳解
- 2025年大理白族自治州教育科學(xué)研究所公開選調(diào)事業(yè)單位工作人員備考題庫(kù)及完整答案詳解1套
- 武漢市第六醫(yī)院120急救站醫(yī)生、護(hù)士招聘?jìng)淇碱}庫(kù)及答案詳解一套
- 2025年集美區(qū)英村(兌山)幼兒園非在編教職工招聘?jìng)淇碱}庫(kù)及一套答案詳解
- 2025年大唐(內(nèi)蒙古)能源開發(fā)有限公司招聘若干人備考題庫(kù)附答案詳解
- 杜甫詩(shī)詞《贈(zèng)別鄭煉赴襄陽(yáng)》高考試題解析
- 2025年版國(guó)開電大法學(xué)本科《國(guó)際私法》形考試題及答案
- 資產(chǎn)評(píng)估風(fēng)險(xiǎn)預(yù)警方案
- 水利安全生產(chǎn)風(fēng)險(xiǎn)管控“六項(xiàng)機(jī)制”培訓(xùn)課件
- 無(wú)人機(jī)多旋翼考試題目及答案
- 壓電拓?fù)洳牧?洞察及研究
- 疾控監(jiān)督員課件講解
- 兒童主任上崗培訓(xùn)課件
- 西游記誤入小雷音課件
- (完整版)新產(chǎn)品開發(fā)表格
- 江蘇省臨時(shí)占地管理辦法
評(píng)論
0/150
提交評(píng)論