沈师PTA|Java 四、五、六、九、十章习题集(代码简单版)

发布时间:2024年01月16日

第四章习题集(1)

函数

jmu-Java-03面向对象基础-覆盖与toString

public String toString(){

? ? return super.toString()+"-"+company+"-"+salary;

}

重写父类方法equals

public boolean equals(Student s2){

? ? if(this.id==s2.id)

? ? ? ? return true;

? ? else return false;

}

编程

7-2 jmu-Java-01入门-取数字浮点数

import java.util.*;

public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? while(true){

? ? ? ? ? ? String s=in.nextLine();

? ? ? ? ? ? int sum=0;

? ? ? ? ? ? for(int i=0;i<s.length();i++){

? ? ? ? ? ? ? ? if(s.charAt(i)>='0'&&s.charAt(i)<='9')

? ? ? ? ? ? ? ? ? ? sum+=s.charAt(i)-'0';

? ? ? ? ? ? }

? ? ? ? ? ? System.out.println(sum);

? ? ? ? }

? ? }

}

7-3 无聊的小明来数1

import java.util.Scanner;



public class Main{

? ? public static void main(String []args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? int T=in.nextInt();

? ? ? ? int[] tArr = new int[T];

? ? ? ? for(int i = 0;i < T;i++){

? ? ? ? ? ? tArr[i] = getNum(in.nextInt());

? ? ? ? ? ? System.out.println(tArr[i]);

? ? ? ? }

? ? }

? ? ? ? public static int getNum(int num){

? ? ? ? ? ? int count=0;

? ? ? ? ? ? int number;

? ? ? ? ? ? while(num != 0){

? ? ? ? ? ? ? ? number = num % 2;

? ? ? ? ? ? ? ? if(number == 1)

? ? ? ? ? ? ? ? ? ? count++;

? ? ? ? ? ? ? ? num/=2;

? ? ? ? ? ? }

? ? ? ? ? ? return count;

? ? ? ? }

}

7-5 教师类

import java.util.*;

public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? int no1=in.nextInt();

? ? ? ? String name1=in.next();

? ? ? ? int age1=in.nextInt();

? ? ? ? String seminary1=in.next();

? ? ? ? Teacher t1=new Teacher(no1,name1,age1,seminary1);

? ? ? ? int no2=in.nextInt();

? ? ? ? String name2=in.next();

? ? ? ? int age2=in.nextInt();

? ? ? ? String seminary2=in.next();

? ? ? ? Teacher t2=new Teacher(no2,name2,age2,seminary2);

? ? ? ? System.out.println(t1.toString());

? ? ? ? System.out.println(t2.toString());

? ? ? ? System.out.println(t1.equals(t2));

? ? }

}

class Teacher{

? ? private int no,age;

? ? private String name,seminary;

? ? public Teacher(int no,String name,int age,String seminary){

? ? ? ? this.no=no;

? ? ? ? this.name=name;

? ? ? ? this.age=age;

? ? ? ? this.seminary=seminary;

? ? }

? ? public boolean equals(Teacher t){

? ? ? ? if(this.no==t.no)

? ? ? ? ? ? return true;

? ? ? ? else return false;

? ? }

? ? public String toString(){

? ? ? ? return "no: "+no+", name:"+name+", age: "+age+", seminary: "+seminary;

? ? }

}

第四章习题集(2)

7-1 声明图书类,记录图书总册数,利用静态变量赋值

public class Main{

? ? public static void main(String[] args){

? ? ? ? Book b1=new Book("Java程序设计",34.5);

? ? ? ? b1.print();

? ? ? ? Book b2=new Book("数据结构",44.8);

? ? ? ? b2.print();

? ? ? ? Book b3=new Book("C++程序设计",35.0);

? ? ? ? b3.print();//注意打印顺序

? ? ? ? System.out.println("图书总册数为:"+b3.sum);

? ? }

}

class Book{

? ? private final String name;

? ? static int num=0;

? ? private final double price;

? ? static int sum=0;

? ? Book(String name,double price){

? ? ? ? this.name=name;

? ? ? ? this.price=price;

? ? ? ? num++;

? ? ? ? sum++;

? ? }

? ? void print(){

? ? ? ? System.out.println("书名:"+name+", 书号:"+num+", 书价:"+price);

? ? }

}

7-2 定义类2

import java.util.Scanner;

public class Main {

? ? public static void main(String[] args) {

? ? ? ? double dd = RR.fun();

? ? ? ? System.out.printf("%.2f",dd);

? ? }

}

class RR{

? ? public static int fun(){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? int[] n = new int[5];

? ? ? ? for(int i=0;i<5;i++) n[i] = in.nextInt();

? ? ? ? return n[2];

? ? }

}

第四章习题集(3)

6-1 从抽象类shape类扩展出一个圆形类Circle

class Circle extends shape{

? ? private double radius;

? ? public Circle(double r){

? ? ? ? radius=r;

? ? }

? ? public double getArea(){

? ? ? ? return Math.PI*radius*radius;

? ? }

? ? public double getPerimeter(){

? ? ? ? return 2*Math.PI*radius;

? ? }

}

6-2 创建一个直角三角形类实现IShape接口

class RTriangle implements IShape{

? ? private double a,b;

? ? RTriangle(double a, double b){

? ? ? ? this.a=a;

? ? ? ? this.b=b;

? ? }

? ? public double getArea(){

? ? ? ? return a*b*0.5;

? ? }

? ? public double getPerimeter(){

? ? ? ? return a+b+Math.pow((Math.pow(a,2)+Math.pow(b,2)),0.5);

? ? }

}

7-1 jmu-Java-03面向对象基础-04-形状-继承

import java.util.*;

public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? int n=in.nextInt();

? ? ? ? in.nextLine();

? ? ? ? Shape []arr=new Shape[n];

? ? ? ? for(int i=0;i<n;i++){

? ? ? ? ? ? String s=in.next();

? ? ? ? ? ? in.nextLine();

? ? ? ? ? ? if(s.equals("rect")){

? ? ? ? ? ? ? ? int width=in.nextInt();

? ? ? ? ? ? ? ? int length=in.nextInt();

? ? ? ? ? ? ? ? in.nextLine();

? ? ? ? ? ? ? ? arr[i]=new Rectangle(width,length);

? ? ? ? ? ? }

? ? ? ? ? ? else if(s.equals("cir")){

? ? ? ? ? ? ? ? int radius=in.nextInt();

? ? ? ? ? ? ? ? in.nextLine();

? ? ? ? ? ? ? ? arr[i]=new Circle(radius);

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? System.out.println(sumAllPerimete(arr));

? ? ? ? System.out.println(sumAllArea(arr));

? ? ? ? System.out.println(Arrays.toString(arr));

? ? ? ? for(int i=0;i<n;i++){

? ? ? ? ? ? System.out.println(arr[i].getClass()+","+arr[i].getClass().getSuperclass());

? ? ? ? }

? ? }

? ? public static double sumAllArea(Shape[] arr){

? ? ? ? double sumarea=0;

? ? ? ? for(int i=0;i<arr.length;i++){

? ? ? ? ? ? sumarea+=arr[i].getArea();

? ? ? ? }

? ? ? ? return sumarea;

? ? }

? ? public static double sumAllPerimete(Shape[] arr){

? ? ? ? double sumperimeter=0;

? ? ? ? for(int i=0;i<arr.length;i++){

? ? ? ? ? ? sumperimeter+=arr[i].getPerimeter();

? ? ? ? }

? ? ? ? return sumperimeter;

? ? }

}

abstract class Shape{

? ? final public double PI=3.14;

? ? public abstract double getPerimeter();

? ? public abstract double getArea();

}

class Rectangle extends Shape{

? ? private int width,length;

? ? public Rectangle(int width,int length){

? ? ? ? this.width=width;

? ? ? ? this.length=length;

? ? }

? ? public String toString(){

? ? ? ? return "Rectangle [width="+width+", length="+length+"]";

? ? }

? ? public double getPerimeter(){

? ? ? ? return 2*(width+length);

? ? }

? ? public double getArea(){

? ? ? ? return width*length;

? ? }

}

class Circle extends Shape{

? ? private int radius;

? ? public Circle(int radius){

? ? ? ? this.radius=radius;

? ? }

? ? public String toString(){

? ? ? ? return "Circle [radius="+radius+"]";

? ? }

? ? public double getPerimeter(){

? ? ? ? return 2*PI*radius;

? ? }

? ? public double getArea(){

? ? ? ? return PI*radius*radius;

? ? }

}

7-2 集体评分

import java.util.Scanner;

public class Main {

? ? public static void main(String[] args) {

? ? ? ? Scanner in = new Scanner(System.in);

? ? ? ? int[] grade = new int[5];

? ? ? ? for(int i=0; i<grade.length; i++){

? ? ? ? ? ? grade[i] = in.nextInt();

? ? ? ? }



? ? ? ? RR rr = new RT(grade);

? ? ? ? double dd = rr.mark();

? ? ? ? System.out.printf("%.2f",dd);

? ? }

}

abstract class RR{

? ? int[] grade;

? ? public RR(int[] grade){

? ? ? ? this.grade = grade;

? ? }

? ? public abstract double mark();

}

class RT extends RR{

? ? private double sum=0;



? ? public RT(int[] grade) {

? ? ? ? super(grade);

? ? }



? ? public double mark(){

? ? ? ? for(int i=1;i<4;i++){

? ? ? ? ? ? sum+=grade[i];

? ? ? ? }

? ? ? ? return sum/3;

? ? }



}

7-3 定义ClassName接口,设计类Company,实现获取类名称的功能

interface ClassName{

? ? public abstract String getClassName();

}

class Company implements ClassName{

? ? public Company(){}

? ? public String getClassName(){

? ? ? ? return "Company";

? ? }

}

public class Main{

? ? public static void main(String[] args){

? ? ? ? Company c=new Company();

? ? ? ? System.out.println(c.getClassName());

? ? }

}

7-4 集体评分2

import java.util.Scanner;

public class Main {

? ? public static void main(String[] args) {

? ? ? ? ? ? ? ? Scanner in = new Scanner(System.in);

? ? ? ? ? ? ? ? int[] grade = new int[5];

? ? ? ? ? ? ? ? for(int i=0; i<grade.length; i++){

? ? ? ? ? ? ? ? ? ? ? grade[i] = in.nextInt();

?? ? ? ? ? ? ? ? }



? ? ? ? ? ? ? ? RR rr = new RT(grade);

? ? ? ? ? ? ? ? double dd = rr.mark();

? ? ? ? ? ? ? ? System.out.printf("%.2f",dd);

? ? }

}

interface RR{

?? double mark();

}

class RT implements RR{

?? int[] grade;

? ? public double sum=0;

?? public RT(int[] grade){

? ? ? this.grade = grade;

?? }

? ? public double mark(){

? ? ? ? for(int i=1;i<4;i++){

? ? ? ? ? ? sum+=grade[i];

? ? ? ? }

? ? ? ? return sum/3;

? ? }

}

7-5 接口--四则计算器

import java.util.Scanner;

interface ICompute{

? ? public abstract int computer(int n,int m);

}

class Add implements ICompute{

? ? public Add(){}

? ? public int computer(int n,int m){

? ? ? ? return n+m;

? ? }

}

class Sub implements ICompute{

? ? public Sub(){}

? ? public int computer(int n,int m){

? ? ? ? return n-m;

? ? }

}

public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? int n=in.nextInt();

? ? ? ? int m=in.nextInt();

? ? ? ? Add a=new Add();

? ? ? ? Sub s=new Sub();

? ? ? ? System.out.println(a.computer(n,m));

? ? ? ? System.out.println(s.computer(n,m));

? ? }

}

7-6 USB接口的定义

interface USB{

? ? public abstract void work();

? ? public abstract void stop();

}

class Mouse implements USB{

? ? public Mouse(){}

? ? public void work(){

? ? ? ? System.out.println("我点点点");

? ? }

? ? public void stop(){

? ? ? ? System.out.println("我不能点了");

? ? }

}

class Upan implements USB{

? ? public Upan(){}

? ? public void work(){

? ? ? ? System.out.println("我存存存");

? ? }

? ? public void stop(){

? ? ? ? System.out.println("我走了");

? ? }

}

public class Main{

? ? public static void main(String[] args){

? ? ? ? USB usb1=new Mouse();

? ? ? ? usb1.work();

? ? ? ? usb1.stop();

? ? ? ? USB []usb2=new USB[2];

? ? ? ? usb2[0]=new Upan();

? ? ? ? usb2[1]=new Mouse();

? ? ? ? for(int i=0;i<2;i++){

? ? ? ? ? ? usb2[i].work();

? ? ? ? ? ? usb2[i].stop();

? ? ? ? }

? ? }

}

第五章习题集

6-1 jmu-Java-06异常-finally

System.out.println("resource open success");

}

catch(Exception e){

? ? System.out.println(e);

}

try{

? ? resource.close();

? ? System.out.println("resource release success");

}

catch(RuntimeException e){

? ? System.out.println(e);

}

6-2 jmu-Java-06异常-多种类型异常的捕获

分数 10

catch(NumberFormatException e){

? ? System.out.println("number format exception");

? ? System.out.println(e);

}

catch(IllegalArgumentException e){

? ? System.out.println("illegal argument exception");

? ? System.out.println(e);

}

catch(Exception e){

? ? System.out.println("other exception");

? ? System.out.println(e);

}

6-3 求圆面积自定义异常类

class Circle{

? ? private double r;

? ? Circle(double r){

? ? ? ? this.r=r;

? ? }

? ? public double area() throws CircleException{

? ? ? ? if(this.r<0){

? ? ? ? ? ? CircleException e=new CircleException(r);

? ? ? ? ? ? throw e;

? ? ? ? }

? ? ? ? return 3.14*r*r;

? ? }

}

class CircleException extends Exception{

? ? double radius;

? ? public CircleException(double r){

? ? ? ? this.radius=r;

? ? }

? ? public void print(){

? ? ? ? System.out.println("圆半径为"+radius+"不合理");

? ? }

}

7-1 jmu-Java-06异常-01-常见异常

import java.util.*;

public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? int []arr=new int[5];

? ? ? ? while(true){

? ? ? ? ? ? String s=in.next();

? ? ? ? ? ? try{

? ? ? ? ? ? ? ? if(s.equals("arr")){

? ? ? ? ? ? ? ? ? ? int index=in.nextInt();

? ? ? ? ? ? ? ? ? ? int x=arr[index];

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? else if(s.equals("null")){

? ? ? ? ? ? ? ? ? ? throw new NullPointerException();

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? else if(s.equals("cast")){

? ? ? ? ? ? ? ? ? ? Object obj=new String("hhh");

? ? ? ? ? ? ? ? ? ? Integer num=(Integer)obj;//记不住啊啊啊啊//记住啦

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? else if(s.equals("num")){

? ? ? ? ? ? ? ? ? ? String str=in.next();

? ? ? ? ? ? ? ? ? ? int num1=Integer.parseInt(str);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? else break;

? ? ? ? ? ? }

? ? ? ? ? ? catch(Exception e){

? ? ? ? ? ? ? ? System.out.println(e);

? ? ? ? ? ? }

? ? ? ? }

? ? }

}

7-2 jmu-Java-06异常-02-使用异常机制处理异常输入

import java.util.Scanner;

import java.util.Arrays;

public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? int n=in.nextInt();

? ? ? ? int a[]=new int[n];

? ? ? ? for(int i=0;i<n;i++){

? ? ? ? ? ? try{

? ? ? ? ? ? ? ? a[i]=Integer.parseInt(in.next());

? ? ? ? ? ? }

? ? ? ? ? ? catch(Exception e){

? ? ? ? ? ? ? ? System.out.println(e);

? ? ? ? ? ? ? i--;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? System.out.println(Arrays.toString(a));

? ? }

}

7-4 成绩录入时的及格与不及格人数统计

import java.util.Scanner;



public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? int n=in.nextInt();

? ? ? ? int pass=0,unpass=0;

? ? ? ? for(int i=0;i<n;){

? ? ? ? ? ? try{

? ? ? ? ? ? ? ? int score=in.nextInt();

? ? ? ? ? ? ? ? if(score>=60&&score<=100){

? ? ? ? ? ? ? ? ? ? pass++;

? ? ? ? ? ? ? ? ? ? i++;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? else if(score<60&&score>=0){

? ? ? ? ? ? ? ? ? ? unpass++;

? ? ? ? ? ? ? ? ? ? i++;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? else{

? ? ? ? ? ? ? ? ? ? throw new ScoreOutOfRoundException(score);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? catch(ScoreOutOfRoundException e){

? ? ? ? ? ? ? ? System.out.println(e.toString());

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? System.out.println(pass);

? ? ? ? System.out.println(unpass);

? ? }

}

class ScoreOutOfRoundException extends Exception{

? ? int score;

? ? public ScoreOutOfRoundException(int score){

? ? ? ? this.score=score;

? ? }

? ? public String toString(){

? ? ? ? return score+"invalid!";

? ? }

}

7-5 设计一个Tiangle异常类

import java.util.Scanner;



public class Main{

? public static void main(String[] args) {

? ? ? Scanner input = new Scanner(System.in);

? ? ? double s1 = input.nextDouble();

? ? ? double s2 = input.nextDouble();

? ? ? double s3 = input.nextDouble();

? ? ? try {

?? ? ? ? Triangle t = new Triangle(s1,s2,s3);

?? ? ? ? System.out.println(t);

? ? ? }

? ? ? catch (IllegalTriangleException ex) {

? ? ? ? ? System.out.println(ex.getMessage());

? ? ? }

? }

}

class Triangle{

? ? private double side1,side2,side3;

? ? public Triangle(double side1, double side2, double side3) throws IllegalTriangleException {

? ? ? ? this.side1=side1;

? ? ? ? this.side2=side2;

? ? ? ? this.side3=side3;

? ? ? ? if(side1+side2<=side3||side2+side3<=side1||side1+side3<=side2){

? ? ? ? ? ? IllegalTriangleException e=new IllegalTriangleException(side1,side2,side3);

? ? ? ? ? ? throw e;

? ? ? ? }

}

? ? public String toString(){

? ? ? ? return "Triangle [side1=" + side1 + ", side2=" + side2 + ", side3=" + side3 + "]";

? ? }

}

class IllegalTriangleException extends Exception{

? ? private double side1,side2,side3;

? ? public IllegalTriangleException(double side1,double side2,double side3){

? ? ? ? this.side1=side1;

? ? ? ? this.side2=side2;

? ? ? ? this.side3=side3;

? ? }

? ? public String getMessage(){

? ? ? ? return "Invalid: "+side1+","+side2+","+side3;

? ? }

}

7-5 自定义异常类:成绩异常(ScoreException)

import java.util.Scanner;



public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? Student zhangsan=new Student();

? ? ? ? double score=in.nextDouble();

? ? ? ? try{

? ? ? ? ? ? zhangsan.setScore(score);

? ? ? ? ? ? System.out.println("成绩为"+zhangsan.getScore());

? ? ? ? }

? ? ? ? catch(ScoreException e){

? ? ? ? ? ? e.show();

? ? ? ? }

? ? ? ? finally{

? ? ? ? ? ? System.out.println("程序结束");

? ? ? ? }

? ? ? ? }

}



class ScoreException extends Exception{

? ? private String message;

? ? public ScoreException(){

? ? ? ? message="您输入的成绩异常,请核实!";

? ? }

? ? public void show(){

? ? ? ? System.out.println(message);

? ? }

}

class Student{

? ? private double score;

? ? public Student(){}

? ? public void setScore(double s) throws ScoreException{

? ? ? ? this.score=s;

? ? ? ? if(score<0||score>100){

? ? ? ? ? ? ScoreException e=new ScoreException();

? ? ? ? ? ? throw e;

? ? ? ? }

? ? }

? ? public double getScore(){

? ? ? ? return score;

? ? }

}

第六章习题集

7-2 单词替换

import java.util.Scanner;



public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? String s=in.nextLine();

? ? ? ? String inquire=in.nextLine();

? ? ? ? String replace=in.nextLine();

? ? ? ? Replace r=new Replace();

? ? ? ? r.rep(s,inquire,replace);

? ? }

}

class Replace{

? ? public void rep(String s,String inquire,String replace){

? ? ? ? String[] m=s.split(" ");

? ? ? ? for(int i=0;i<m.length;i++){

? ? ? ? ? ? if(m[i].equals(inquire))

? ? ? ? ? ? ? ? m[i]=replace;

? ? ? ? }

? ? ? ? for(int i=0;i<m.length;i++){

? ? ? ? ? ? if(i!=m.length-1)

? ? ? ? ? ? ? ? System.out.print(m[i]+" ");

? ? ? ? ? ? else System.out.print(m[i]);

? ? ? ? }

? ? }

}

7-3 图书价格汇总

import java.util.*;

public class Main{

? ? static int sum=0;

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? String s=in.nextLine();

? ? ? ? String []m=s.split(";");

? ? ? ? for(int i=0;i<m.length;i++){

? ? ? ? ? ? for(int j=0;j<m[i].length();j++){

? ? ? ? ? ? ? ? if(m[i].charAt(j)>='0'&&m[i].charAt(j)<='9'){

? ? ? ? ? ? ? ? ? ? sum+=(m[i].charAt(j)-'0')*10+m[i].charAt(j+1)-‘0’;/*char类型运算与数形运算不同,char运算用到的是ACII码,两个字符相减实际上是ACII码对应的数相减,str.charAt(i)是一个char型,减去'0',就相当于把字符转成数字*/

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? for(int i=0;i<m.length;i++){

? ? ? ? ? ? System.out.println(m[i]);

? ? ? ? }

? ? ? ? System.out.println("总价格为"+sum);

? ? }

}

7-4 通过键盘输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

import java.util.Scanner;

public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? String s=in.nextLine();

? ? ? ? int zimu=0,shuzi=0,kongge=0,other=0;

? ? ? ? for(int i=0;i<s.length();i++){

? ? ? ? ? ? if((s.charAt(i)>='a'&&s.charAt(i)<='z')||(s.charAt(i)>='A'&&s.charAt(i)<='Z'))

? ? ? ? ? ? ? ? zimu++;

? ? ? ? ? ? else if(s.charAt(i)>='0'&&s.charAt(i)<='9')

? ? ? ? ? ? ? ? shuzi++;

? ? ? ? ? ? else if(s.charAt(i)==' ')

? ? ? ? ? ? ? ? kongge++;

? ? ? ? ? ? else other++;

? ? ? ? }

? ? ? ? System.out.println("字母个数:"+zimu);

? ? ? ? System.out.println("数字个数:"+shuzi);

? ? ? ? System.out.println("空格个数:"+kongge);

? ? ? ? System.out.println("其他字符个数:"+other);

? ? }

}

7-6 判断登录信息是否正确--字符串比较

import java.util.Scanner;



public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? String usename=in.next();

? ? ? ? String password=in.next();

? ? ? ? if(usename.equals("SwpuIot")){

? ? ? ? ? ? if(password.equals("123456"))

? ? ? ? ? ? ? ? System.out.println("Welcome");

? ? ? ? ? ? else System.out.println("Mismatch");

? ? ? ? }

? ? ? ? else System.out.println("NotExist");

? ? }

}

7-8 伪随机数

import java.util.Scanner;

import java.util.Random;

public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? int n=in.nextInt();

? ? ? ? int m=in.nextInt();

? ? ? ? int k=in.nextInt();

? ? ? ? int count=0;

? ? ? ? Random r=new Random(k);

? ? ? ? while(true){

? ? ? ? ? ? int randomNum=r.nextInt(m);

? ? ? ? ? ? count++;

? ? ? ? ? ? if(count==n){

? ? ? ? ? ? ? ? System.out.println(randomNum);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? }

? ? }

}

7-7 sdut-String-3 字符串字母大小写转换逆序输出

import java.util.Scanner;



public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? String s=in.nextLine();

? ? ? ? for(int i=s.length()-1;i>=0;i--){

? ? ? ? ? ? if(s.charAt(i)>='a'&&s.charAt(i)<='z'){

? ? ? ? ? ? ? ? System.out.print((char)(s.charAt(i)-32));

? ? ? ? ? ? }

? ? ? ? ? ? else if(s.charAt(i)>='A'&&s.charAt(i)<='Z'){

? ? ? ? ? ? ? ? System.out.print((char)(s.charAt(i)+32));

? ? ? ? ? ? }

? ? ? ? ? ? else System.out.print(s.charAt(i));

? ? ? ? }

? ? }

}

7-9 sdut-String-4 去除字符串中数字字符逆序输出

import java.util.*;

public class Main{



? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? String s=in.nextLine();

? ? ? ? for(int i=s.length()-1;i>=0;i--){

? ? ? ? ? ? if(!(s.charAt(i)>='0'&&s.charAt(i)<='9'))

? ? ? ? ? ? ? ? System.out.print(s.charAt(i));

? ? ? ? }

? ? }

}

当想对分开的字符串进行循环时,循环条件为s.length

当想对字符进行循环时,循环条件为s.length()

第九章习题集

7-3 计算正五边形的面积和周长

import java.util.*;

import java.text.*;

public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? double a=in.nextDouble();

? ? ? ? double perimeter=0,area=0;

? ? ? ? perimeter=a*5;

? ? ? ? area=a*a*Math.sqrt(25+10*Math.sqrt(5))/4;

? ? ? ? DecimalFormat df=new DecimalFormat("#.####");

? ? ? ? System.out.println(df.format(area));

? ? ? ? System.out.println(df.format(perimeter));

? ? }

}

第十章习题集

函数

6-1 jmu-Java-07多线程-Thread

class MyThread extends Thread{

? ? int n;

? ? public MyThread(int n){

? ? ? ? this.n=n;

? ? }

? ? public void run(){

? ? ? ? for(int i=0;i<n;i++){

? ? ? ? ? ? System.out.println(i);

? ? ? ? }

? ? ? ? System.out.println(Thread.currentThread().getName()+" "+isAlive());

? ? }

}

6-2 jmu-Java-07多线程-PrintTask

class PrintTask implements Runnable{

? ? int n;

? ? public PrintTask(int n){

? ? ? ? this.n=n;

? ? }

? ? public void run(){

? ? ? ? for(int i=0;i<n;i++){

? ? ? ? ? ? System.out.println(i);

? ? ? ? }

? ? ? ? System.out.println(Thread.currentThread().getName());

? ? }

}

编程

7-1 创建一个倒数计数线程

import java.util.Scanner;

class ReverseTime implements Runnable{

? ? int n;

? ? public ReverseTime(int n){

? ? ? ? this.n=n;

? ? }

? ? public void run(){

? ? ? ? for(int i=n;i>=0;i--){

? ? ? ? ? ? System.out.println(i);

? ? ? ? }

? ? }

}

public class Main{

? ? public static void main(String[] args){

? ? ? ? Scanner in=new Scanner(System.in);

? ? ? ? int n=in.nextInt();

? ? ? ? ReverseTime r=new ReverseTime(n);

? ? ? ? r.run();

? ? }

}

7-2 程序改错题4

import java.util.Scanner;



public class Main {

? ? public static void main(String[] args) {

? ? ? ? Scanner in = new Scanner(System.in);

? ? ? ? int x = in.nextInt();

? ? ? ? for(int i=0;i<x;i++){

? ? ? ? Thread t = new Thread(new RunHandler());

? ? ? ? t.start();

? ? ? ? }

? ? }

}



class RunHandler extends Thread {

? ? public void run() {

?? ? ? ?

? ? ? ? ? ? System.out.println("run");

? ? }

}

7-3 试试多线程

class A extends Thread{

? ? int sum;

? ? public A(){

? ? ? ? sum=0;

? ? }

? ? public void run(){

? ? ? ? for(int i=1;i<=25;i++){

? ? ? ? ? ? sum+= i;

? ? ? ? }

? ? }

? ? public int getSum(){

? ? ? ? return sum;

? ? }

}

class B extends Thread{

? ? int sum;

? ? public B(){

? ? ? ? sum=0;

? ? }

? ? public void run(){

? ? ? ? for(int i=26;i<=50;i++){

? ? ? ? ? ? sum+= i;

? ? ? ? }

? ? }

? ? public int getSum(){

? ? ? ? return sum;

? ? }

}

class C extends Thread{

? ? int sum;

? ? public C(){

? ? ? ? sum=0;

? ? }

? ? public void run(){

? ? ? ? for(int i=51;i<=75;i++){

? ? ? ? ? ? sum+= i;

? ? ? ? }

? ? }

? ? public int getSum(){

? ? ? ? return sum;

? ? }

}

class D extends Thread{

? ? int sum;

? ? public D(){

? ? ? ? sum=0;

? ? }

? ? public void run(){

? ? ? ? for(int i=76;i<=100;i++){

? ? ? ? ? ? sum+= i;

? ? ? ? }

? ? }

? ? public int getSum(){

? ? ? ? return sum;

? ? }

}

public class Main{

? ? public static void main(String[] args){

? ? ? ? A a=new A();

? ? ? ? B b=new B();

? ? ? ? C c=new C();

? ? ? ? D d=new D();

? ? ? ? a.start();

? ? ? ? b.start();

? ? ? ? c.start();

? ? ? ? d.start();

? ? ? ? try {

? ? c.sleep(1000);

? ? }

? ? catch(Exception e1){

? ? }

? ? ? ? System.out.println(a.getSum()+b.getSum()+c.getSum()+d.getSum());

? ? }

}


文章来源:https://blog.csdn.net/m0_74788964/article/details/135608931
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。