JAVA编程:怎样将得到的一组频率值画成频率曲线?

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:40:29
我的程序是这样的,但后面画线不行.哪位高手指教一下哈.
import java.awt.*;
import java.applet.*;

public class drawing extends Applet
{

public void paint(Graphics g)
{
String s="change";
char a[]=s.toCharArray();

int k1=3;
int k2=7;

for(int i=0;i<a.length;i++)
{
a[i]=(char)((((int)a[i]-97)*k1+k2)%26+97);

}
String secret=new String(a);
System.out.println("the code is :"+secret);
g.drawString("the code is :"+secret,10,10);

double count0=0;
for(int i=0;i<a.length;i++)
{
if(a[i]!=' ')
count0++;
}
System.out.println("the total number is: "+count0);
g.drawString("the total number is :"+count0,10,30);

for(int j=97;j<123;j++)
{
double count=0;

drawLine接受的参数是像素点,所以必须是四个整型,而不会对浮点型自行回归。由于频率值小于1,所以取整前先进行放大。

这是我改动后可以运行并画出折线图的代码,虽然折线图画的位置不好看。

============== Souce Code ==================

import java.awt.*;
import java.applet.*;

public class drawing extends Applet {

public void paint(Graphics g) {
String s = "change";
char a[] = s.toCharArray();

int k1 = 3;
int k2 = 7;

for (int i = 0; i < a.length; i++) {
a[i] = (char) ((((int) a[i] - 97) * k1 + k2) % 26 + 97);

}
String secret = new String(a);
System.out.println("the code is :" + secret);
g.drawString("the code is :" + secret, 10, 10);

double count0 = 0;
for (int i = 0; i < a.length; i++) {
if (a[i] != ' ')
count0++;
}
System.out.println("the total number is: " + count0);
g.drawString("the total number is :" + co