用g.drawString比较大小

这篇博客展示了如何在Java Applet中使用g.drawString方法输出数组和排序结果。通过两个类,一个处理排序逻辑,另一个负责在画布上显示结果。文章详细解释了函数重写、数组冒泡排序以及函数重载的概念,并提供了具体的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

g.drawString是jdk8及以下特有的一款画图界面,要引用下面这个库

import java.applet.Applet;
import java.awt.Graphics;

接下来我们做一个比较大小的输出,用g.drawString来画出这个输出,会有一个数组冒泡法的比较,以及函数重载的比较,我们在同一个包里建立两个类,有一个g.drawString的类专门输出,但g.drawString不能直接输出数组,只能输出String类型的。要定义String的方法用形参接收数组才能输出。看第一个类的代码,主要定义的是方法

第一个代码

import java.applet.Applet;
import java.awt.Graphics;
public class InSort {
public String sort(int a,int b) {    //这里创建了一个sort的方法
    System.out.println(a+" "+b)
}
public String sort(int a,int b) {    //这里又有一个sort的方法,而且形参一样我们称为函数重写
	if(a>b) {                        //所以之后创建对象后调用sort的方法只能调用重写后的方法
		return a+" "+b;
	}           
	else {
		return b+" "+a;
	}
}

public String sort(int a,int b,int c) {    
	int t;                         //这里又有一个sort的方法,但这里是三个参数,上面是两个参数       
	if(a<b) {                      //创建对象后调用这个的话要给3个参数才行,这叫构造函数的重载
		t=a;                      //函数重载必须满足同一方法名,参数类型不同或参数个数不同。
		a=b;
		b=t;
	}
	if(a<c) {
		t=a;
		a=c;
		c=t;
	}
	if(b<c) {
		t=b;
		b=c;
		c=t;
	}
	return a+" "+b+" "+c+" ";
}

public String sort(int arr[]) {    //这里定义了sort的方法,方法里有一个数组,这是为了后面能存
	String s="";                   //数组过来,直接引用
	int swap;
	for(int i=0;i<arr.length;i++){    //这是数组冒泡法
		for(int j=0;j<arr.length-1;j++){
			if(arr[j]<arr[j+1]) { //原理是把数组最大的往a[0]移动接着次大的往a[1]移动,以此类推
				swap=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=swap;
			}
          }
        }
	for(int i=0;i<arr.length;i++)
		s=s+arr[i]+" ";
	return s;
}

第二个类的代码,主要是引用g.drawString

import java.applet.Applet;
import java.awt.Graphics;

public class sort extends Applet{
	InSort s=new InSort();	//这个不能去掉,同一个包内public的东西能在同一个包内的其他类共同引用
public void paint(Graphics g) {
	 int a = 30, b = 12, c = 40;
int arr[] = { 34, 8, 12, 67, 44, 98, 52, 23, 16, 16 };
g.drawString("两个数的排序结果:" + s.sort(a, b), 30, 30);
g.drawString("三个数的排序结果:" + s.sort(a, b, c), 30, 60);
g.drawString("数组的排序结果:" + s.sort(arr), 30, 90);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值