class assert1{
public static void main(String[] args){
int[] data={10,56,66,119,-5,30};
int sum=0;
for(int ss:data){
assert(ss >= 100) : "data more than 100";
assert(ss <= 0) : "data less than 0";
sum+=ss;
}
System.out.println(" Sum:"+sum);
}
}
2013年5月21日 星期二
assert實作
編譯為一樣javac xxxx.java 只是執行assert時須輸入 java -ea xxxx (沒加入-ea則不會有assert效果)
package封裝實例
建立Circle.java和Square.java以及同目錄的Test資料夾
Circle.java
輸入指令 javac -d /Test Square.java
將資料封裝在/Test/Test裡面並建立main.java在/Test裡(封裝資料夾外) 即可讀取
Circle.java
package Test;
public class Circle {
double radius;
public Circle(double r){
radius=r;
}
public double area(){
return radius*radius*Math.PI;
}
public double perimeter(){
return radius*2*Math.PI;
}
}
Square.javapackage Test;
public class Square {
double size;
public Square(double s){
size=s;
}
public double area(){
return size*size;
}
public double perimeter(){
return size*4;
}
}
輸入指令 javac -d /Test Circle.java輸入指令 javac -d /Test Square.java
將資料封裝在/Test/Test裡面並建立main.java在/Test裡(封裝資料夾外) 即可讀取
class main{
static public void main(String argv[]){
Test.Circle c = new Test.Circle(5.6); // generate a Circle object
Test.Square s = new Test.Square(7.3); // generate a Square object
// Output Circle's area & perimeter (raduis is 5.6)
System.out.println("Circle's area: "+c.area());
System.out.println("Circle's perimeter: "+c.perimeter());
// Output Square's area & perimeter (size is 7.3)
System.out.println("Square's area: "+s.area());
System.out.println("Square's perimeter: "+s.perimeter());
}
}
物件導向實例
以物件導向讀取student.class 實作test.java
class test {
public static void main(String[] args){
student std = new student();
System.out.println("Name :"+std.getName());
System.out.println("Age :"+std.getAge());
System.out.println("Gender :"+std.getGen());
}
}
物件導向設計原理期末考(I)
1. 將兩班成績分數透過切割函數,切割成小字串,整數字串轉成整數且存於整數陣列,
(a) 將整數陣列當作score建構方法參數,且產生一score物件。
(b) 再透過score物的成員方法完成題目的要求。
class score包括:
一個資料成員:
• int[] data;
一個建構方法:
• score(int[] dd) // 設定int[] data初始值
兩個成員方法:
• getLevelNum( base) // 傳回整數 base (含)分數以上人數
• getPassAvg() // 傳回及格成績的平均分數(小數後兩位)
class score{
int[] data;
score(int[] dd){
data=dd;
}
int getLevelNum(int base){
int num=0;
for(int kk:data)
if(kk >= base) num++;
return num;
}
double getPassAvg(){
int sum=0, num=0;
num=getLevelNum(60);
for(int i:data) {
if(i>=60) sum+=i;
}
return (int)((double)sum/num*100)/100.0;
}
}
class prob10507{
public static void main(String[] args){
String IMDA="IMDA,75,88,62,77,69,82,79,85,93,44,81,53,66,71";
String IMDB="IMDB/55/68/72/57/83/77/93/75/66/85/83/47/52/87/96/53/62/89/76/51";
int gradeA, gradeB, gradeC, gradeD,gradeF;
String[] token=IMDA.split("[,]");
int[] data=new int[token.length-1];
for(int i=1;i<token.length;i++)
data[i-1]=Integer.parseInt(token[i]);
score cls1=new score(data);
gradeA=cls1.getLevelNum(90);
gradeB=cls1.getLevelNum(80)-cls1.getLevelNum(90);
gradeC=cls1.getLevelNum(70)-cls1.getLevelNum(80);
gradeD=cls1.getLevelNum(60)-cls1.getLevelNum(70);
gradeF=cls1.getLevelNum(0)-cls1.getLevelNum(60);
System.out.println(" CLS Name: "+ token[0]);
System.out.println(" Numbers of students: "+ (token.length-1));
System.out.println(" Pass Average Number: "+cls1.getPassAvg());
System.out.println(" grade A Number: "+gradeA); // score >= 90
System.out.println(" grade B Number: "+gradeB); // score >= 80 and score < 90
System.out.println(" grade C Number: "+gradeC); // score >= 70 and score < 80
System.out.println(" grade D Number: "+gradeD); // score >= 60 and score < 70
System.out.println(" grade F Number: "+gradeF); // score < 60
String[] token2=IMDB.split("[/]");
int[] data2=new int[token2.length-1];
for(int i=1;i<token2.length;i++)
data2[i-1]=Integer.parseInt(token2[i]);
score cls2=new score(data2);
gradeA=cls2.getLevelNum(90);
gradeB=cls2.getLevelNum(80)-cls2.getLevelNum(90);
gradeC=cls2.getLevelNum(70)-cls2.getLevelNum(80);
gradeD=cls2.getLevelNum(60)-cls2.getLevelNum(70);
gradeF=cls2.getLevelNum(0)-cls2.getLevelNum(60);
System.out.println(" CLS Name: "+ token2[0]);
System.out.println(" Numbers of students: "+ (token2.length-1));
System.out.println(" Pass Average Number: "+cls2.getPassAvg());
System.out.println(" grade A Number: "+gradeA);
System.out.println(" grade B Number: "+gradeB);
System.out.println(" grade C Number: "+gradeC);
System.out.println(" grade D Number: "+gradeD);
System.out.println(" grade F Number: "+gradeF);
}
}
2. (a) class degree 包括:
一個建構方法:
• degree( char, double) // 設定degreeC, degreeF 初始值
兩個資料成員:
• private: double degreeC, degreeF;
四個成員方法:
• private: CtoF() // degreeC degreeF
• private: FtoC() // degreeF degreeC
• public: getDegC() // 傳回degreeC
• public: getDegF() // 傳回degreeF
(b) class check 繼承degree
一個建構方法:
• check(char, double) //呼叫父類別之建構方法,設定degreeC, degreeF 初始值
有兩個成員方法:
• public: degChk() // 傳回體溫狀態代碼(整數)
• public: toStatus(byte) // 傳回體溫狀態(字串)
(c) 透過相關的成員方法完成題目要求(產業輸出內容)。
體溫、代碼與狀態對照表
~ 36.4c (97.5f) -1 (Hypothermia) (體溫過低)
36.4c (97.5f) ~ 37.8c (100f) 0 (Normal) (正常)
37.8c (100.f) ~ 39.4c (103.0f) 1 (Fever) (發燒)
39.4c (103.0f) ~ 40.3c (104.5f) 2 (High Fever) (高燒)
40.3c (104.5f) ~ 3 (Serious) (嚴重)
class degree{
private double degC=0, degF=32;
degree(char CF, double dd){
if(CF=='C'){
degC=dd;
CtoF();
}else if(CF=='F'){
degF=dd;
FtoC();
}
}
private void CtoF(){
degF=degC*5.0/9.0+32;
}
private void FtoC(){
degC=(degF-32)/9.0*5.0;
}
double getDegC(){
return degC;
}
double getDegF(){
return degF;
}
}
class check extends degree{
check(char cc, double dd){
super(cc,dd);
}
byte degChk(){ // if-else statement
double degC=getDegC(); // call getDegC to get degC
if(degC < 36.4) return -1;
else if(degC < 37.8) return 0;
else if(degC < 39.4) return 1;
else if(degC < 40.3) return 2;
else return 3;
}
String toStatus(byte n){ // switch case statement
switch(n){
case -1:
return "Hypothermia";
case 0:
return "Normal";
case 1:
return "Fever";
case 2:
return "High Fever";
default:
return "Serious";
}
}
}
class prob20507{
public static void main(String[] args){
check c1 =new check('C',38.3);
System.out.println(" degree C "+c1.getDegF());
System.out.println(" degree F "+c1.getDegC());
System.out.println(" Status code: "+ c1.degChk());
System.out.println(" Degree Status: "+c1.toStatus(c1.degChk()));
check c2 = new check('F',103.5);
System.out.println(" degree C "+c2.getDegF());
System.out.println(" degree F "+c2.getDegC());
System.out.println(" Status code: "+ c2.degChk());
System.out.println(" Degree Status: "+c2.toStatus(c2.degChk()));
}
}
第22次ITSA答案參考
題目連結: https://db.tt/tg3FeNrb (右鍵開新視窗)
1
1
#include<stdio.h>
void minheap(int *n[1000],int size){
int i;
while(1){
int flag=1;
for(i=1;i<=size;i++){
if(n[i]>n[i*2+1]){int t; t=n[i],n[i]=n[i*2+1],n[i*2+1]=t; flag=0;}
if(n[i]>n[i*2]){int t; t=n[i],n[i]=n[i*2],n[i*2]=t; flag=0;}
}
if(flag) break;
}
}
int main(){
int n[1000],size=0,num,i;
for(i=0;i<1000;i++) n[i]=500;
char order;
while(scanf("%c",&order)!=EOF){
if(order=='a'){
scanf("%d",&num);
n[++size]=num;
minheap(n,size);
printf("The min-heap is of size %d and the current minimum is %d a\n",size,n[1]);
}else if(order=='b'){
n[1]=n[size];
n[size]=500;
--size;
minheap(n,size);
printf("The min-heap is of size %d and the current minimum is %d b\n",size,n[1]);
}else if(order=='c'){
for(i=1;i<=size;i++) {
if(i!=1) printf(" ");
printf("%d",n[i]);
}
}else if(order=='d'){
break;
}
}
return 0;
}
2#include<stdio.h>
int n[90000],top=0,min=1e9;
int search(int s,int sum){
int ns,nsum,i;
if(s==top-1||s==top-2) { /* printf("*%d\n",sum)*/; if(sum<=min) min=sum; return 0;}
for(i=1;i<=3;i++){
if((s+i)<top){
//printf("i=%d s=%d sum=%d\n",i,s,sum);
ns=s+i,nsum=sum+n[s+i];
//printf(" n s=%d sum=%d,top=%d\n",ns,nsum,top);
search(ns,nsum);
}
}
return 0;
}
int main(){
int tmp;
while(scanf("%d",&tmp)&&tmp) n[top++]=tmp;
//while(scanf("%d",&tmp)!=EOF) n[top++]=tmp;
search(0,n[0]);
search(1,n[1]);
printf("%d\n",min);
return 0;
}
3#include<stdio.h>
#include<string.h>
int n,map[5000][5000]={0},time[5000]={0},top=0;
int max=0;
void search(int mask,int sum,int size){
if(size>=top) return;
if(sum>max) max=sum;
//printf("mask=%d sum %d size %d\n",mask,sum,size);
int i,j;
int max=0;
for(i=0;i<top;i++){
int ch=-1,max=0;
for(j=0;j<top;j++){
if(map[i][j]!=0&&(mask&(1<<j))&&(mask&(1<<i))){
if(time[j]>max) max=time[j],ch=j;
}
}
if(ch!=-1){
mask-=1<<i;
mask-=1<<ch;
//printf(" (%d,%d) ",i,ch);
search(mask,time[ch]+time[i],++size);
}
}
return ;
}
void task (char t[100]){
//printf("task\n");
int c=0,tt=0,tn=0;
while(t[++c]!=','){
tt*=10;
tt+=t[c]-'0';
}
while(t[++c]){
tn*=10;
tn+=t[c]-'0';
}
time[tt-1]=tn;
top++;
//printf("**task=%d time=%d\n",tt,time);
}
void prec (char p[100]){
//printf("prec\n");
int c=0,tb=0,ta=0;
while(p[++c]!=','){
tb*=10;
tb+=p[c]-'0';
}
c++;
while(p[++c]){
ta*=10;
ta+=p[c]-'0';
}
map[ta-1][tb-1]=1;
//printf(" pp %d %d\n",tb,ta);
}
int main(){
char input[100];
int i,j;
while(gets(input)){
if(strcmp(input,"end")==0) break;
char left[100],right[100]={0};
int n1=0,n2=0;
while(input[n1]!=':') left[n1]=input[n1],n1++;
left[n1++]='\0';
while(input[n1]) right[n2++]=input[n1++];
right[n2]='\0';
if(strcmp(left,"Process")==0){
int sum=0,n3=0;
while(right[n3]) sum*=10,sum+=right[n3++]-'0';
n=sum;
//printf("sum=%d\n",sum);
}else if(strcmp(left,"Task")==0){
task(right);
}else if(strcmp(left,"Prec")==0){
prec(right);
}
}
/*for(i=0;i<top;i++) printf("%d ",time[i]);
printf(" top=%d\n",top);
for(i=0;i<top;i++){
for(j=0;j<top;j++)
printf("%d ",map[i][j]);
puts("");
}*/
int mask=~(~0<<top);
search(mask,0,0);
printf("%d\n",max);
return 0;
}
4#include<stdio.h>
char ans[100][100];
int top=0;
int map[100][100],n,min=1e9;
int star,end;
int search(int a[n],int p,int size,int mask){
int i,c;
mask|=1<<p;
a[size++]=p;
if(size>=n) return 1;
/*
printf("p=%d size=%d mark=%d\n",p,size+1,mask);
for(i=0;i<size;i++) printf("%d ",a[i]);
puts("");*/
if(p==end) {
if(size<min){
min=size;
top=0;
c=0;
for(i=0;i<size;i++){
if(i!=0) ans[top][c++]=',';
ans[top][c++]=a[i]+'0';
}
ans[top++][c]='\0';
}else if(size==min){
c=0;
for(i=0;i<size;i++){
if(i!=0) ans[top][c++]=',';
ans[top][c++]=a[i]+'0';
}
ans[top++][c]='\0';
}
/*printf("ans min=%d ",min);
for(i=0;i<size;i++) printf("%d ",a[i]);
puts("");*/
return 0;
}
for(i=0;i<n;i++){
if(map[p][i]==1&&(mask&(1<<i))==0)
search(a,i,size,mask);
}
}
int main(){
scanf("%d,%d,%d",&n,&star,&end);
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&map[i][j]);
int a[n];
search(a,star,0,0);
for(i=0;i<top;i++)
printf("%s\n",ans[i]);
return 0;
}
5#include<stdio.h>
int main(){
while(1){
int n[100],top=0,num;
while(scanf("%d",&num)==1){
if(num==-999999) break;
n[top++]=num;
}
int i,j,max=n[0];
for(i=0;i<top;i++){
int r=n[i];
for(j=i+1;j<top;j++){
r*=n[j];
if(r>=max) max=r;
}
}
printf("%d\n",max);
}
return 0;
}
第21次ITSA答案參考
題目連結:http://db.tt/dbfYqNFW (右鍵開新視窗)
1
1
#include<stdio.h>
int main(){
int n,sum=0,i,v=0,tmp;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&tmp);
if(tmp>=v) v=tmp;
else {
sum+=v-tmp;
}
}
printf("%d\n",sum);
return 0;
}
2#include<stdio.h>
int main(){
int m,n,k;
scanf("%d",&m);
while(m--){
scanf("%d %d",&n,&k);
int mark[n],i;
for(i=0;i<n;i++) mark[i]=1;
int sum=n-1,p=0,tmp=k;
while(sum){
if(mark[p]==1){
p++;
if(p>=n) p-=n;
tmp--;
}
else{
p++;
if(p>=n) p-=n;
}
if(tmp==0){
if(p-1>=0)
mark[p-1]=0;
else mark[p-1+n]=0;
sum--;
tmp=k;
}
}
int ans;
for(i=0;i<n;i++) if(mark[i]!=0) ans=i;
char name[50];
for(i=0;i<n;i++){
scanf("%s",name);
if(i==ans) printf("%s\n",name);
}
}
return 0;
}
3#include<stdio.h>
int main(){
int x1=0,b1,b2;
char input[100];
scanf("%s",input);
scanf("%d",&b1);
scanf("%d",&b2);
int i,flag=0,no;
for(i=0;input[i];i++){
if(input[i]>='0'&&input[i]<='9') no=input[i]-'0';
else if(input[i]>='A'&&input[i]<='F') no=input[i]-'A'+10;
if(no>=b1) flag=1;
x1*=b1;
x1+=no;
}
char ans[100];
int n=0;
while(x1){
if(x1%b2>=10) ans[n]=x1%b2-10+'A';
else ans[n]=x1%b2+'0';
n++;
x1/=b2;
}
for(i=n-1;i>=0;i--) printf("%c",ans[i]);
puts("");
return 0;
}
4#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int top=1;
while(n-->1) top*=10;
int i;
for(i=1;i<top;i++){
int t=i,sum=0,p=1;
while(t){
int tmp=t%10;
t/=10;
sum+=tmp;
p*=tmp;
}
if(sum==p) printf("%d\n",i);
}
puts("");
return 0;
}
5#include<stdio.h>
#include<math.h>
double dist (double x,double y,double a,double b){
return sqrt((x-a)*(x-a)+(y-b)*(y-b));
}
int main(){
int n;
int x[100],y[100];
scanf("%d",&n);
int i,j;
double min=1e9;
for(i=0;i<n;i++) scanf("%d %d",&x[i],&y[i]);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++){
//printf("(%d,%d)-(%d,%d) %f\n",x[i],y[i],x[j],y[j],dist(x[i],y[i],x[j],y[j]));
if(dist(x[i],y[i],x[j],y[j])<=min&&i!=j) min=dist(x[i],y[i],x[j],y[j]);
}
printf("%.4f\n",min);
return 0;
}
2013年4月13日 星期六
物件導向期中考-所有小考程式詳解
ex0226a
ex0305a
ex0319b
ex0326b
ex0326d
ex0326x
ex0409b
test1
class ex0226a{
public static void main(String[] args)
{
String fName="John", lName="Chen";
int weight=56; // weight: Kg
int height=175; // height: cm
int age=20;
boolean gender=true;
// 1cm = 0.0328 英呎
// 1kg = 2.21 磅
System.out.println(" Name: "+fName+" "+ lName);
System.out.println(" Gender: "+gen(gender));
System.out.println(" weight: "+wei(weight)+" 磅 ");
System.out.println(" height: "+hei(height)+" 英呎 ");
}
public static String gen(boolean gen)
{
if(gen=true) return "Man";
else return "Female";
}
public static Double wei(int wei)
{
return wei*2.21;
}
public static Double hei(int hei)
{
return hei*0.0328;
}
}
import java.io.*;
class ex0305a{
public static void main(String[] args) throws IOException{
//
// input a string & transfer into a integer
//
System.out.print(" Input a number :");
BufferedReader br =new
BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
int fee=Integer.parseInt(str);
//
System.out.println(" NT1000 :" +fee/1000 );
fee%=1000;
System.out.println(" NT500 :" + fee/500);
fee%=500;
System.out.println(" NT100 :" + fee/100);
fee%=100;
System.out.println(" NT50 :" + fee/50);
fee%=50;
System.out.println(" NT10 :" + fee/10);
fee%=10;
System.out.println(" NT5 :" + fee/5);
fee%=5;
System.out.println(" NT1 :" + fee/1);
}
}
ex0312aclass ex0312a{
public static void main(String[] args){
int data[]={81,95,66,80,77,51,69,33,-1,46,90,87,93,72,63,55,-1,65,66,71,50,88,47,49,83,61};
//
// Statistic A, B, C, D, Fail & absent students number
//
// Accumulate total score and total number (except absent students)
//
int na=0,nb=0,nc=0,nd=0,fn=0,an=0,sum=0;
for(int i:data){
if(i>=0){
sum+=i;
if(i>=90) na++;
else if(i>=80) nb++;
else if(i>=70) nc++;
else if(i>=60) nd++;
else fn++;
}
else
an++;
}
System.out.println(" Number of A :"+na);
System.out.println(" Number of B :"+nb);
System.out.println(" Number of C :"+nc);
System.out.println(" Number of D :"+nd);
System.out.println(" Fail Number :"+fn);
System.out.println(" Absent Number :"+ an);
System.out.println(" *** Average :"+avg(sum,data.length-an));
}
//
// sum: total score (except absent students)
//
// num: total number (except absent students)
//
public static double avg(int sum, int num){
double tmp;
int tmp1;
tmp=(double)sum/num;
tmp1=(int)(tmp*10);
return tmp1/10.0;
}
}
class ex0319b{
public static void main(String[] args)
{
int[][] matA={{1,2,3},{4,5,6},{7,8,9}};
int[][] matB={{1,7,6,4,3},{2,1,5,7,9},{4,3,5,1,7}};
int[][] matC=new int[3][5];
// Declate and allocate two dimension int array ==> matC
int sum=0;
mtrPtr(matA);
System.out.println("=====================================");
mtrPtr(matB);
for(int i=0;i<matC.length;i++){
for(int j=0;j<matC[i].length;j++){
sum=0;
for(int k=0;k<matC.length;k++)
sum=sum+matA[i][k]*matB[k][j];
matC[i][j]=sum;
}
}
System.out.println("=====================================");
mtrPtr(matC);
}
public static void mtrPtr(int[][] mat){
for(int i=0;i<mat.length;i++){
for(int j=0;j<mat[i].length;j++)
System.out.print(" "+mat[i][j]+"\t");
System.out.println();
}
}
}
class student{
String name;
int age;
boolean gender;
student(){};
void setName(String nn){
name=nn;
}
String getName(){
return name;
}
void setAge(int nn){
age=nn;
}
int getAge(){
return age;
}
void setGender(boolean nn){
gender=nn;
}
boolean getGender(){
return gender;
}
}
class ex0326b{
public static void main(String[] args)
{
student std01=new student();
std01.setName("Mary Chen");
std01.setAge(20);
std01.setGender(true);
System.out.println(" Std name: "+std01.getName());
System.out.println(" Std age: "+std01.getAge());
System.out.println(" Std gender: "+std01.getGender());
}
}
class score{
int[] data;
int base=60;
score(int[] dd){ data=dd;}
int getHigh(){
int high=0;
for(int i:data) if(i>high) high=i;
return high;
}
int passNo(){
int count=0;
for(int i:data) if(i>=base) count++;
return count;
}
float getAvg(){
float sum=0f;
for(int i:data) sum+=i;
return sum/(float) data.length;
}
}
class ex0326d{
public static void main(String[] args)
{
int[] dataA={99,88,77,66,55,44,92,56};
int[] dataB={63,57,89,73,61,72,78,47,76,85,63,90,51,68,39};
int[] dataC={79,78,47,96,85,54,80,66,73,52,84,73,97,60,55,70,65};
score itmA=new score(dataA);
score itmB=new score(dataB);
score itmC=new score(dataC);
System.out.println(" Highest score of itmA: "+itmA.getHigh());
System.out.println(" Pass No of itmA: "+itmA.passNo());
System.out.println(" Average of itmA: "+itmA.getAvg());
System.out.println(" Highest score of itmB: "+itmB.getHigh());
System.out.println(" Pass No of itmB: "+itmB.passNo());
System.out.println(" Average of itmB: "+itmB.getAvg());
System.out.println(" Highest score of itmC: "+itmC.getHigh());
System.out.println(" Pass No of itmC: "+itmC.passNo());
System.out.println(" Average of itmC: "+itmC.getAvg());
System.out.println(" *Highest score of all: "+getMax(itmA.getHigh(),itmB.getHigh(),itmC.getHigh()));
System.out.println(" *Pass No of all: "+(itmA.passNo()+itmB.passNo()+itmC.passNo()));
System.out.println(" *Average of all: "+(itmA.getAvg()+itmB.getAvg()+itmC.getAvg())/3);
}
public static int getMax(int a, int b, int c){
if(a > b)
if( a > c) return a;
else return c;
else
if(b > c) return b;
else return c;
}
}
class ex0326x{
public static void main(String[] args)
{
int[][] fee={{45,40,50,30,45},{100,95,80,90,110},
{90,85,120,110,150}};
int[] sumDay=new int[5];
int[] sumBld=new int[3];
int sum=0;
for(int i=0;i<3;i++){
sum=0;
for(int j=0;j<5;j++){
sum=sum+fee[i][j];
}
sumBld[i]=sum;
}
for(int j=0;j<5;j++){
sum=0;
for(int i=0;i<3;i++){
sum=sum+fee[i][j];
}
sumDay[j]=sum;
}
mtrPtr(fee);
System.out.println(" Total fee of Breakfast, Lunch and dinner: "+
sumBld[0]+" "+sumBld[1]+" "+sumBld[2]);
System.out.print(" Total fee of each day: ");
for(int df: sumDay) System.out.print(" "+df);
System.out.println();
}
public static void mtrPtr(int[][] mat){
for(int i=0;i<mat.length;i++){
for(int j=0;j<mat[0].length;j++)
System.out.print(" "+mat[i][j]+"\t");
System.out.println();
}
}
}
class point{
int x, y;
point(){
x=0;
y=0;
}
point(int x, int y){
this.x=x;
this.y=y;
}
double distance(){ // Distance from point to origin
return (int) (Math.sqrt(x*x+y*y)*100)/100.0;
}
int location(){
if(x==0 && y==0) return 0; // on origin
if(x>0 && y>0) return 1; // on 1st quadrant
if(x<0 && y>0) return 2; // on 2nd quadrant
if(x<0 && y<0) return 3; // on 3rd quadrant
if(x>0 && y<0) return 4; // on 4thquadrant
if(y==0) return 5; // on X axle
return 6; // on Y axle
}
int disX(){ // Distance from point to X axle
return Math.abs(y);
}
int disY(){ // Distance from point to Y axle
return Math.abs(x);
}
}
class ex0409b{
public static void main(String[] args)
{
// create 3 points object;
// point1 ==> (0, 0), point2 ==> (4, 7), point3 ==> (-5 ,3)
point p1 = new point();
point p2 = new point(4,7);
point p3 = new point(-5,3);
System.out.println(" Location of point1: "+p1.location());
System.out.println(" Location of ponit2: "+p2.location() );
System.out.println(" Location of point3: "+p3.location() );
System.out.println(" Distance of point1: "+p1.distance() );
System.out.println(" Distance of point2: "+p2.distance() );
System.out.println(" Distance of point3: "+p3.distance() );
System.out.println(" Distance point2 to X : "+p2.disX() );
System.out.println(" Distance point2 to Y : "+p2.disY() );
System.out.println(" Distance point3 to X : "+p3.disX() );
System.out.println(" Distance point3 to Y : "+p3.disY() );
}
}
class test1{
public static void main(String[] args)
{
int aa=-1,bb,cc,dd;
bb=aa>>1;
cc=aa>>>1;
dd=aa<<1;
System.out.println(" aa >> 1 "+ bb);
System.out.println(" aa >>> 1 "+ cc);
System.out.println(" aa << 1 "+ dd);
}
}
訂閱:
文章 (Atom)