当前位置: 首页 > news >正文

SDUT Java 类和对象

6-7 sdut-oop-6-方形矩阵的运算(类和对象)

class Matrix{ int n; int[][] matrix; //带参构造方法 public Matrix(int n, int[][] matrix) { this.n = n; this.matrix = matrix; } public Matrix add(Matrix other) { int [][ ]result=new int [n][n]; for(int i=0;i<matrix.length;i++) { for(int j=0;j<matrix[i].length;j++) { result[i][j]=matrix[i][j]+other.matrix[i][j]; } } return new Matrix(n,result); } public Matrix sub(Matrix other) { int [][ ]result=new int [n][n]; for(int i=0;i<matrix.length;i++) for(int j=0;j<matrix[i].length;j++) { result[i][j]=matrix[i][j]-other.matrix[i][j]; } return new Matrix(n,result); } public Matrix mul(Matrix other){ int [][ ]result=new int [n][n]; for(int i=0;i<matrix.length;i++) { for(int j=0;j<matrix[i].length;j++) { int sum=0; for(int k=0;k<matrix[i].length;k++) { result[i][j]+=matrix[i][k]*other.matrix[k][j]; } } } return new Matrix(n,result); } public void show(){ for(int i=0;i<matrix.length;i++) { for(int j=0;j<matrix[i].length;j++) { System.out.print(matrix[i][j]+" "); } System.out.println(); } } }

6-9 sdut-oop-5 分数加减法(类和对象)

class Fs { int fz, fm; public Fs(int fz, int fm) { this.fz = fz; this.fm = fm; } public Fs add(Fs fs) { int sum1=this.fz*fs.fm+this.fm*fs.fz; int sum2=this.fm*fs.fm; if(sum1%sum2==0) return new Fs(sum1,sum2); else { int gcdd=gcd(sum1,sum2); return new Fs(sum1/gcdd,sum2/gcdd); } } public Fs sub(Fs fs) { int sum1=this.fz*fs.fm-this.fm*fs.fz; int sum2=this.fm*fs.fm; if(sum1%sum2==0) return new Fs(sum1,sum2); else { int gcdd=gcd(sum1,sum2); return new Fs(sum1/gcdd,sum2/gcdd); } } public int gcd(int a, int b) { a=Math.abs(a); b=Math.abs(b); int c=a%b; while(c!=0) { a=b; b=c; c=a%b; } return b; } }

7-1 sdut-oop-1 简单的复数运算

package 复习; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); while(sc.hasNext()) { int a = sc.nextInt(); int b = sc.nextInt(); int op=sc.nextInt(); if(a==0&&b==0&&op==0) break; else{ if(op==1) { n+=a; m+=b; } else if(op==2) { n-=a; m-=b; } else if(op==3) { int nn=n; int mm=m; n=nn*a-mm*b; m=nn*b+mm*a; } } } System.out.println(n+" "+m); } }

7-4 sdut-oop-4-求圆的面积(类与对象)

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Circle c1 = new Circle(); System.out.println(c1.toString()); System.out.printf("%.2f\n", c1.getArea()); Circle c2 = new Circle(); System.out.println(c2.toString()); System.out.printf("%.2f\n", c2.getArea()); double radius = sc.nextDouble(); c2.setRadius(radius);//!!!!!!!! System.out.println(c2.toString()); System.out.printf("%.2f\n", c2.getArea()); Circle c3 = new Circle(sc.nextDouble()); System.out.println(c3.toString()); System.out.printf("%.2f\n", c3.getArea()); } } class Circle { private double radius; public Circle() { this.radius = 2.0; System.out.println("This is a constructor with no para."); } public Circle(double radius) { if (radius <= 0) { this.radius = 2.0; } else { this.radius = radius; } System.out.println("This is a constructor with para."); } public double getRadius() { return radius; } public void setRadius(double radius) { if (radius <= 0) { this.radius = 2.0; } else { this.radius = radius; } } public double getArea() { return Math.PI * radius * radius; } public String toString() { return "Circle [" + "radius=" + (int)radius + "]"; } }

7-5 sdut-oop-9 计算长方形的周长和面积(类和对象)

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String ss = sc.nextLine(); String arr[]=ss.split(" "); if(arr.length==1) { int w=Integer.parseInt(arr[0]); int h=w; int l=w*4; int s=w*w; if(w<=0) System.out.println("0 0 0 0"); else System.out.println(h+" "+w+" "+l+" "+s); } else if(arr.length==2) { int h=Integer.parseInt(arr[0]); int w=Integer.parseInt(arr[1]); int l=(w+h)*2; int s=w*h; if(h<=0||w<=0) System.out.println("0 0 0 0"); else System.out.println(h+" "+w+" "+l+" "+s); } } } }

7-6 sdut-谁是最强的女汉子

import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int min=0; int a[]=new int[10000]; int b[]=new int[10000]; for(int i=0;i<n;i++) { int x = sc.nextInt(); int y = sc.nextInt(); if(i==0) min=x; else min=Math.min(min,x); a[x]+=y; b[x]++; } System.out.println(b[min]+" "+a[min]); } }

7-7 sdut-oop-8 分数四则运算

package 复习; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=0;i<n;i++) { String s = sc.next(); String ss[]=s.split("[/+\\-*\\\\]"); int a=Integer.parseInt(ss[0]); int b=Integer.parseInt(ss[1]); int c=Integer.parseInt(ss[2]); int d=Integer.parseInt(ss[3]); char s2=s.charAt(ss[0].length()+ss[1].length()+1); if(s2=='*') { int sum1=a*c; int sum2=b*d; if(sum1%sum2==0) System.out.println(sum1/sum2); else{ int gcdd=gcd(sum1,sum2); System.out.println(sum1/gcdd+"/"+sum2/gcdd); } } else if(s2=='\\'){ int sum1=a*d; int sum2=b*c; if(sum1%sum2==0) { System.out.println(sum1/sum2); } else{ int gcdd=gcd(sum1,sum2); System.out.println(sum1/gcdd+"/"+sum2/gcdd); } } else if(s2=='+') { int sum1=a*d+b*c; int sum2=b*d; if(sum1%sum2==0) System.out.println(sum1/sum2); else{ int gcdd=gcd(sum1,sum2); System.out.println(sum1/gcdd+"/"+sum2/gcdd); } } else if(s2=='-') { int sum1=a*d-b*c; int sum2=b*d; if(sum1%sum2==0) System.out.println(sum1/sum2); else{ int gcdd=gcd(sum1,sum2); System.out.println(sum1/gcdd+"/"+sum2/gcdd); } } } } public static int gcd(int a,int b) { a=Math.abs(a); b=Math.abs(b); int c=a%b; while(c!=0) { a=b; b=c; c=a%b; } return b; } }
http://www.zskr.cn/news/112708.html

相关文章:

  • 基于单片机的智能衣柜
  • 【SVD】SVD数学推导,物理意义及其经典应用
  • 基于单片机的智能密码锁设计
  • RAG技术全解析:从基础检索到智能体驱动的AI系统必学必藏
  • 基于单片机的节能窗控制系统设计
  • LobeChat心理情绪日记分析工具
  • 【情感】程序人生之理想主义的情感希冀(个人背景、兴趣爱好、爱情观、理想的另一半、期待什么样的生活等)
  • 1688 商品详情接口深度解析:从百川签名突破到供应链数据重构
  • 【go语言 | 第5篇】channel——多个goroutine之间通信
  • LobeChat公益活动策划方案生成
  • 探秘!宜宾这5家家电门店,质量好到超乎想象!
  • 大模型推理基石:如何用 C++ 封装 CUDA API?(含源码与原理解析)
  • 基于大数据旅游分析可视化平台 数据大屏 游客分析+商家分析+舆情分析 Flask框架 (附源码)
  • GraphRAG:从向量检索到知识图谱,大模型推理能力的革命性突破
  • 构建高效RAG系统:21种文本分块策略全解析,程序员必备收藏指南
  • AI Agent全解析:从第一性原理到多Agent协作,程序员必学的大模型进阶指南
  • Jmeter 命令行压测生成HTML测试报告
  • 编程马拉松指定工具:LobeChat助力Hackathon选手
  • 软著提交时人数过多系统繁忙问题,终极解决办法!
  • AI编程系列——mcp与skill
  • 基于单片机的交通红绿灯控制系统
  • Netcode for GameObjects Boss Room 多人RPG战斗(7)
  • TensorFlow损失函数的“隐形坑”
  • LobeChat技术面试题生成器开发
  • AI之 n8n
  • 大数据Python招聘推荐系统 数据分析可视化 Django+可视化+协同过滤算法 毕业设计(附源码+文档)
  • 生日祝福个性化:LobeChat记住每个人的喜好
  • Java毕设项目:基于Javaweb的二手儿童绘本交易系统设计与实现(源码+文档,讲解、调试运行,定制等)
  • Java毕设项目:基于java的城市公交调度系统(源码+文档,讲解、调试运行,定制等)
  • Netcode for GameObjects Boss Room 多人RPG战斗(1)