/*
* 作 者: 车笠
* 问题分析: 根据Java的面向对象性,写的4个小例子,都很直接的体现了这一特点。
* 作 者: 车笠
* 问题分析: 根据Java的面向对象性,写的4个小例子,都很直接的体现了这一特点。
*/
1、编写一个成员方法,从键盘输入三个数,输出最大值。
import java.util.*;
public class TestPerson {
public void max(double a1,double a2,double a3)
{
System.out.println("最大值为"+((((a1>a2)?a1:a2)>a3)?((a1>a2)?a1:a2):a3));
}
public static void main(String arg[])
{
Scanner in=new Scanner(System.in);
System.out.println("请输入第一个数:");
String s1=in.next();
System.out.println("请输入第二个数:");
String s2=in.next();
System.out.println("请输入第三个数:");
String s3=in.next();
double d1=Double.parseDouble(s1);
double d2=Double.parseDouble(s2);
double d3=Double.parseDouble(s3);
TestPerson a1=new TestPerson();
a1.max(d1, d2, d3);
}
}
奉上运行截图:
2、编写一函数,从控制台输入一数字,得到对应行数的金字塔。
import java.util.*;
public class Pyramid {
public void Paint(int floor)
{
System.out.println("输出行数为"+floor+"的金字塔");
for(int i=0;i<floor;i++)
{
int j=0,k=0;
for(k=0;k<floor-i;k++)
{
System.out.print(" ");
}
for(j=floor-i;j<=floor+i;j++)
{
System.out.print("*");
}
System.out.println();
}
}
public static void main(String arg[])
{
Scanner in=new Scanner(System.in);
System.out.println("请输入一个数:");
String s=in.next();
int num=(int)(Double.parseDouble(s));
Pyramid jzt=new Pyramid();
jzt.Paint(num);
}
}
3、编写一函数,从控制台输入一数字,得到对应行数的乘法表。
import java.util.Scanner;
public class Multiplication {
public void paint(int x)
{
System.out.println("输出行数为"+x+"的乘法表");
int array[][] = new int[10][10];
for(int i=1;i<=x;i++){
for(int j=1;j<=i;j++){
array[i][j] = i*j;
System.out.print(i+"*"+j+"="+array[i][j]+"\t");
}
System.out.println("");
}
}
public static void main(String arg[])
{
Scanner in=new Scanner(System.in);
System.out.println("请输入一个数:");
String s=in.next();
int num=(int)(Double.parseDouble(s));
Multiplication c=new Multiplication();
c.paint(num);
}
}
4、编写一函数,使3X3的二维数组转置。
import java.util.Scanner;
public class Transpose {
public void Change(int[][] a)
{
System.out.println("原数组值:");
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
System.out.print(a[i][j]+" ");
}
System.out.println();
}
System.out.println("置换后数组值:");
for(int i=0;i<3;i++)
{
for(int j=i;j<3;j++)
{
int temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
}
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
public static void main(String agr[])
{
Transpose z=new Transpose();
int a[][]=new int [3][3];
System.out.println("请输入一个数组:");
Scanner in=new Scanner(System.in);
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
a[i][j]=in.nextInt();
}
}
z.Change(a);
}
}
所谓面向对象就像面向客户的公司一样,里面的具体操作我已经封装好了,只牵涉内部人员,如果客户需要应用,那么就请从我所提供的入口进去,在我所制定的体制内活动。
管窥之论,愿君斧正。