实验一 Java编程基础
( 基本操作性 验证性 实验 1学时)
1、目的要求:
(1.掌握配置Java运行环境。
(2.学会编写简单的Java程序。
(3.学会使用命令行方式编译、运行Java程序。
(4.掌握使用Eclipse集成开发环境下编译、调试和运行Java程序
2、实验内容:
(1。编写一个简单Java程序,计算银行年存款的本息。
要求:程序运行后要求用户输入存款本金、年利率和存款年限,最后程序计算并输出相应年限后存款的金额。相应的计算公式为:存款总额=本金 * (1 + 利率)存款年限。
提示:请检测用户输入的合法性。可以使用Math类来进行次方的运算:Math.pow(底数,指数)。
package lianxi1;
import java.util.Scanner;
public class shiyan1 {
public static void main(String []args) {
double x = 0.0;
double y = 0.0;
int z = 0;
Scannerinput = new Scanner(System.in);
System.out.println("请分别输入double double int:");
while(input.hasNext()){
if(input.hasNextDouble()){
//判断输入的是否是double
x = input.nextDouble();//接受输入
}
else{
//输入错误信息
System.out.println("输入格式不正确!");
}
if(input.hasNextDouble()){
//判断输入的是否是double
y = input.nextDouble();//接受输入
}
else{
//输入错误信息
System.out.println("输入格式不正确!");
}
if(input.hasNextInt()){
//判断输入的是否是Int
z = input.nextInt();//接受输入
}
else{
//输入错误信息
System.out.println("输入格式不正确!");
}
System.out.println("输入完全正确,正在计算...");
qwer(x, y, z);
}
input.close();
}
public static void qwer(double a,double b,int c){
Doublet= Math.pow((1+b), c);
System.out.println("存款总额=" + a * t);
}
}
(2.编写程序完成矩阵的乘法运算。
要求:程序运行后要求用户分别输入两个矩阵的行数和列数,然后判断两个矩阵是否可以相乘,如果可以相乘,则计算矩阵相乘后的结果,并按矩阵的格式输出;若不能相乘,则提示用户矩阵不相容,并退出程序。
提示:一个2行3列的矩阵可以用一个二维数组表示:int matrixA[2][3]。此外,必须要知道什么是矩阵相乘。矩阵相乘的概念如下图所示:
package lianxi1;
import java.util.Scanner;
public class shiyan1 {
public static void main(String []args) {
int x, y,n,m;
Scannerinput = new Scanner(System.in);
System.out.println("请分别输入4个int型(空格隔开):");
while(input.hasNext()){
x = input.nextInt();
y = input.nextInt();
n = input.nextInt();
m = input.nextInt();
int a[][]= new int[x][y];
int b[][]= new int[n][m];
if(x!=m||y!=n)
{
System.out.println("矩阵不符合!请重新输入4个int型(空格隔开):");
continue;
}
juzhen(x, y, n, m,a,b);
}
input.close();
}
public static void juzhen(int a,int b,int c,int d,int[][] q,int[][] p){
System.out.println("输入第一个矩阵的值");
Scannerinput = new Scanner(System.in);
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
q[i][j] =input.nextInt();
}
}
System.out.println("输入第二个矩阵的值");
for(int i=0;i<c;i++){
for(int j=0;j<d;j++){
p[i][j] =input.nextInt();
}
}
input.close();
System.out.println("输入成功正在计算...");
int s =0;
int[][]map = new int[a][d];
for (int i = 0; i< a; i++)
{
for (int m = 0; m< d; m++)
{
for (int j = 0; j< b; j++)
{
s = s + q[i][j] * p[j][m];
}
map[i][m] =s;
s =
0;
}
}
for(int i=0;i<a;i++)
{
for(int j=0;j<d;j++)
{
System.out.print(map[i][j] + "
");
}
System.out.print("\n");
}
}
}
(3.编写程序用*号输出等腰梯形。
要求:程序运行后要求用户输入梯形的上边长度(*号的数量),然后输入梯形的层数。梯形的每一层比上一层左右边各多一个*号,程序输出梯形的形状。
例如:当用户输入3和4,则程序应该输出:
package lianxi1;
import java.util.Scanner;
public class shiyan1 {
public static void main(String []args) {
int x, y;
Scannerinput = new Scanner(System.in);
System.out.println("请分别输入梯形上边长和高:");
while(input.hasNext()){
x = input.nextInt();
y = input.nextInt();
tixing(x, y);
}
input.close();
}
public static void tixing(int a,int b){
int t=0;
for(int i=b;i>0;i--)
{
for(int p=0;p<i;p++)
{
System.out.print("
");
}
for(int j=0;j<a+2*t;j++)
{
System.out.print("*");
}
for(int k=0;k<i;k++)
{
System.out.print("
");
}
System.out.print("\n");
t++;
}
}
}