一. 实验目的
掌握基本的输出格式
学会使用集中循环结构
对于类,对象有更深刻的了解,学会定义类,包括其中的变量,构造方法,类方法,等等
二. 实验内容
实验题目一:
找出1~5000范围内分别满足如下条件的数:
(1) 7或11或13的倍数
(2) 7、11,或7、13或11、13的倍数
(3) 7、11和13倍数
1. 程序源代码
public class title1{
public static void main(String[] args){
int z;
int i=0;
int j=0;
int k=0;
int aa,bb,cc;
int length=2000;
int a[]=new int[length],b[]=new int[length],c[]=new int[length];
for(z=1;z<=5000;z++)
{
aa=z%7;
bb=z%11;
cc=z%13;
if(aa==0||bb==0||cc==0)
{
a[i]=z;
i++;
}
if((aa==0&&bb==0)||(aa==0&&cc==0)||(bb==0&&cc==0))
{
b[j]=z;
j++;
}
if(aa==0&&bb==0&&cc==0)
{
c[k]=z;
k++;
}
}
System.out.printf("1~5000中是7或11或13的倍数的数有(共%d个):",i);
System.out.println();
for (z=0;z<i;z++) System.out.printf("%d ",a[z]);
System.out.println();
System.out.printf("1~5000中是7、11,或7、13或11、13的倍数的数有(共%d个):",j);
System.out.println();
for (z=0;z<j;z++) System.out.printf("%d ",b[z]);
System.out.println();
System.out.printf("1~5000中是7、11和13倍数的数有(共%d个):",k);
System.out.println();
for (z=0;z<k;z++) System.out.printf("%d ",c[z]);
}
}
2. 实验结果
实验题目二:
计算: y=3*1!/1+3^2*2!/2^2+3^3*3!/3^3+...+3^n*n!/n^n。
1. 程序源代码
import java.util.*;
public class title2{
public static double method(double n)
{
double i=1,p=1,result=0;
do
{
p=p*i;
result=result+Math.pow(3,i)*p/Math.pow(i,i);
i++;
}
while( i<=n );
return result;
}
public static void main(String[] args)
{
Scanner sc =new Scanner(System.in);
System.out.println(" Result=3*1!/1+3^2*2!/2^2+3^3*3!/3^3+...+3^n*n!/n^n:请输 入n:");
double k=sc.nextLong();
double Result=method(k);
System.out.printf("Result=3*1!/1+3^2*2!/2^2+...+3^%1.0f*%1.0f!/%1.0f^%1.0f=%10.4f ",k,k,k,k,Result);
}
}
2.实验结果
实验题目三:
输出以下字符图形,比如,当n=6时,结果如下:
1
2 2 2
3 3 3 3 3
4 4 4 4 4 4
5 5 5 5
6 6
1. 程序源代码
import java.util.*;
public class title3
{
public static void main(String args[])
{
Scanner sc =new Scanner(System.in);
System.out.printf("显示n行字符图形,请输入n:");
double n=sc.nextDouble();
int t=(int)Math.floor(n/2);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=Math.abs(t+1-i);j++)
{
System.out.printf(" ");
}
int k=(t+1)<i?(2*t+2-i):i;
for(int j=1;j<=k;j++)
{
System.out.printf("%d ",i);
}
System.out.println();
}
}
}
2.试验结果
实验题目四:
1. 程序源代码
package Rational;
public class Fraction{
private int sign;
private int numerator,denominator;
public Fraction(Fraction r){
sign=r.sign;
numerator=r.numerator;
denominator=r.denominator;
}
public Fraction(int n,int d){
sign=n*d>0?1:-1;
n=Math.abs(n);
d=Math.abs(d);
int t=gcd(n,d);
numerator=n/t;
denominator=d/t;
}
static int gcd(int m,int n){
int r=m%n;
while(r!=0){
m=n;
n=r;
r=m%n;
}
return n;
}
public Fraction add(Fraction r){
int d=denominator*r.denominator;
int n=sign*numerator*r.denominator+r.sign*r.numerator*denominator;
return new Fraction(n,d);
}
public Fraction minus(Fraction r){
int d=denominator*r.denominator;
int n=sign*numerator*r.denominator-r.sign*r.numerator*denominator;
return new Fraction(n,d);
}
public Fraction multiply(Fraction r){
int d=denominator*r.denominator;
int n=numerator*r.numerator;
int s=sign*r.sign;
return new Fraction(s*n,d);
}
public Fraction divide(Fraction r){
int d=denominator*r.numerator;
int n=numerator*r.denominator;
int s=sign*r.sign;
return new Fraction(s*n,d);
}
public void print(){
String str;
if(numerator==0)
System.out.println(numerator);
else if(numerator%denominator==0)
System.out.println(numerator/denominator);
else
{
str=sign*numerator+"/"+denominator;
System.out.println(str);
}
}
}
package Rational;
import java.util.*;
public class TestFraction{
public static void main(String arg[]){
Scanner sc =new Scanner(System.in);
System.out.print("请输入第一个分数fra1的分子:");
int n1=sc.nextInt();
System.out.println();
System.out.print("请输入第一个分数fra1的分母:");
int d1=sc.nextInt();
System.out.println();
System.out.print("请输入第二个分数fra2的分子:");
int n2=sc.nextInt();
System.out.println();
System.out.print("请输入第二个分数fra2的分母:");
int d2=sc.nextInt();
System.out.println();
Fraction fra1=new Fraction(n1,d1);
Fraction fra2=new Fraction(n2,d2);
Fraction fra3=fra1.add(fra2);
Fraction fra4=fra1.minus(fra2);
Fraction fra5=fra1.multiply(fra2);
Fraction fra6=fra1.divide(fra2);
System.out.print("第一个分数fra1=");fra1.print();
System.out.print("第二个分数fra2=");fra2.print();
System.out.print("两个分数的和fra1+fra2=");fra3.print();
System.out.print("两个分数的差fra1-fra2=");fra4.print();
System.out.print("两个分数的积fra1*fra2=");fra5.print();
System.out.print("两个分数的商fra1/fra2=");fra6.print();
}
}
2.试验结果
|
|