问答题

【说明】一条直线是由两个点组成的,代码如下。 public class Point { private int x, y; //coordinate public Point (int x, int y) { (1) =x; (2) ;} public int GetX() { return x; } public int GetY() { return y; } } class Line //line segment { private (3) ; //extremc points Line (Point a, Point b) //constructor { p1 = (4) ; p2= (5) ; } public double Length() { return Math.sqrt (Math.pow (p2.GetX()-pl.GetX(),2) +Math.pow (p2.GetY()-p1.GetY(),2)) ; } }

【参考答案】

[解析] (1)this.x 构造函数Point将形参x和y赋值给当前对象成员x和y,因此必须用this指针区别。 (......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
【说明】本程序从正文文件text.in中读入一篇英文短文,统计该短文中不同单词及出现次数,并按词典编辑顺序将单词及出现次数输出到正文文件word.out中。程序用一棵有序二叉树存储这些单词及其出现的次数,边读入边建立,然后中序遍历该二叉树,将遍历经过的二叉树上的结点的内容输出。#include <stdio.h>#include <malloc.h>#include <ctype.h>#include <string.h>#define INF text.in #define OUTF wotd.out typedef struct treenode{char *word;int count;struct treenode *left,*right;}BNODEint getword (FILE *fpt,char *word){ char c;c=fgetc (fpt);if ( c=EOF)return 0;while(!(tolower(c)>=’a’ && tolower(c)<=’z’)){ c=fgetc (fpt);if ( c==EOF)return 0;} *跳过单词间的所有非字母字符* while (tolower (c)>=’a’ && tolower (c)<=’z’){ *word++=c;c=fgetc (fpt);}*word=’ 0’;return 1;}void binary_tree(BNODE **t,char *word){ BNODE *ptr,*p;int compres;P=NULL; (1) ;while (ptr) *寻找插入位置* { compres=strcmp (word, (2) ); *保存当前比较结果* if (!compres){ (3) ;return;}else{ (4) ;ptr=compres>0 ptr->right:ptr->left;}}ptr= (BNODE*) malloc (sizeof (BNODE)) ;ptr->left = ptr->right = NULL;ptr->word= (char*) malloc (strlen (word) +1) ;strcpy (ptr->word, word);ptr->count - 1;if (p==NULL)(5) ;else if (compres > 0)p->right = ptr;elsep->left = ptr;}void midorder (FILE **fpt, BNODE *t){ if (t==NULL)return;midorder (fpt, t->left);fprintf (fpt, %s %d n , t->word, t->count)midorder (fpt, t->right);}void main(){ FILE *fpt; char word[40];BNODE *root=NULL;if ((fpt=fopen (INF, r )) ==NULL){ printf ( Can’t open file %s n , INF )return;}while (getword (fpt, word) ==1 )binary_tree (&root, word );fclose (fpt);fpt = fopen (OUTF, w );if (fpt==NULL){ printf ( Can’t open file %s n , OUTF)return;}midorder (fpt, root);fclose(fpt);}