Java实验七实验报告(javagui实验报告)
java实验报告实验过程和步骤怎么写
public interface Auth {
public void check(String name,String pwd,AuthResult result);
}
class AuthResult{
public String msg;// 结果信息
public boolean success;// 验证结果
public boolean isSuccess(){
return success;
}
public String getMsg(){
return msg;
}
}
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
public class Auth1 implements Auth {
MapString, String data = new HashMapString, String();
@Override
public void check(String name,String pwd,AuthResult result) {
try {
// 加载用户名和密码
InputStream in = getClass().getResourceAsStream("Auth1.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String temp = null;
while((temp = br.readLine()) != null){
data.put(temp.split(":")[0], temp.split(":")[1]);
}
if(data.get(name) == null){
result.success = false;
result.msg = "用户名错误";
return;
}
if(!pwd.equals(data.get(name))){
result.success = false;
result.msg = "密码错误";
return;
}
result.success = true;
result.msg = "auth success!";
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class Auth2 implements Auth {
MapString, String data = new HashMapString, String();
@Override
public void check(String name,String pwd,AuthResult result) {
try {
// 加载用户名和密码
InputStream in = getClass().getResourceAsStream("Auth2.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String temp = null;
int i = 1;
String temp1 = null;
while((temp = br.readLine()) != null){
if(i % 2 == 0){
data.put(temp1, temp);
} else {
temp1 = temp;
}
i++;
}
if(data.get(name) == null){
result.success = false;
result.msg = "用户名错误";
return;
}
if(!pwd.equals(data.get(name))){
result.success = false;
result.msg = "密码错误";
return;
}
result.success = true;
result.msg = "auth success!";
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Auth1 a1 = new Auth1();
Auth2 a2 = new Auth2();
Scanner sc = new Scanner(System.in);
String name = null;
String pwd = null;
System.out.println("enter name:");
name = sc.nextLine();
System.out.println("enter pwd:");
pwd = sc.nextLine();
AuthResult result = new AuthResult();
System.out.println("---Auth1---check");
a1.check(name,pwd,result);
if(result.isSuccess()){
System.out.println("auth success!");
} else {
System.out.println("auth fail! because " + result.getMsg());
}
System.out.println("---Auth2---check");
a2.check(name,pwd,result = new AuthResult());
if(result.isSuccess()){
System.out.println("auth success!");
} else {
System.out.println("auth fail! because " + result.getMsg());
}
}
}
文件与这些类同包下应该就能读到
Auth1.txt
name1:pwd1
name2:pwd2
Auth2.txt
name3
pwd3
name4
pwd4
java实验报告总结
源代码:
public class Exe1_1 {
public static void main (String args[]){
byte a1=127;
int a2=12345;
long a3=123456789L;
float a4=1.23e-5f;
double a5=1.4567e3;
char a6=65;
boolean a7=true;
System.out.println("a1="+a1+"\na2="+a2+"\na3="+a3+"\na4="+a4+"\na5="+a5+"\na6="+a6+"\na7="+a7);
}
}运行结果:
2.编写Java小应用程序,输出两行字符串:“Java很有趣。”和“努力学习Java编程。”,输出的起点坐标是(20,20),行距是50像素。源程序代码:
import java.awt.Graphics;
import java.applet.Applet;
public class Exe1_2 extends Applet{
public void paint(Graphics g){
g.drawString("Java很有趣。",20,20);
g.drawString("努力学习Java编程。",20,70);
}
}运行情况:
3.使用算术运算符得到一个4位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。
源程序代码:
public class Exe1_3 {
public static void main (String args[]){
int n=3756,a,b,c,d,n1;
a=n/1000;
b=(n-1000*a)/100;
d=n%10;
c=(n%100-d)/10;
System.out.println("3756的逆序数为:"+d+" "+c+" "+b+" "+a);
System.out.print("各位数字平方后相加的和为:");
System.out.print(a*a+b*b+c*c+d*d);
}
}
运行结果:
三、实验总结(是否完成实验、实验过程中的问题以及解决方法分析等)
本次是我第一次使用JAVA来进行编程,感觉很是不一样,在前两节课中我们学习了有关Java的一些简单知识。然后这次的实验是对最初的一种练习。
在第一题中,我们重要是认识java的运行环境,并且了解各种变量的数据类型。只要通过简单的语句就可以通过运行。其中出现了一些单词的拼写错误,这些是可以修改正确的。第二题我们练习的十一个小的applet应用程序,需要设置一个网页来显示,这是一个很不一样的地方,最后成功测试,里面需要注意的是显示位置的问题。第三题我们做的是一个有算法要求的解决问题,在测试中出现了一点小问题,程序的算法出了错。还有一个问题是有关于显示问题,最后的数据输出需要用到两行分别显示字符和数据,这样才不会出错。
java实验报告,请高手帮忙!
package test.baiduKnow.java实验报告;
//AreaAndLength.java
class Trangle {
double sideA, sideB, sideC, area, length;
boolean boo;
public Trangle(double a, double b, double c) {
// 【代码1】 // 参数a,b,c分别赋值给sideA,sideB,sideC
sideA = a;
sideB = b;
sideC = c;
if (a + b c)
// 【代码2】) // a,b,c构成三角形的条件表达式
{
// 【代码3】 // 给boo赋值。}
boo = true;
} else {
// 【代码4】 // 给boo赋值。}
boo = false;
}
}
double getLength() {
/*
* 【代码5】 方法体,要求进行判断,如果能构成三角形,则计算出length的值并返回
* 如果不能构成三角形,则提示“不是一个三角形,不能计算周长”
*/
if (boo == true) {
length = sideA + sideB + sideC;
} else {
length = 0;
System.out.println("不是一个三角形,不能计算周长");
}
return length;
}
public double getArea() {
if (boo) {
double p = (sideA + sideB + sideC) / 2.0;
area = Math.sqrt(p * (p - sideA) * (p - sideB) * (p - sideC));
return area;
} else {
System.out.println("不是一个三角形,不能计算面积");
return 0;
}
}
public void setABC(double a, double b, double c) {
// 【代码6】 // 参数a,b,c分别赋值给sideA,sideB,sideC
sideA = a;
sideB = b;
sideC = c;
if (a + b c)
// 【代码2】) // a,b,c构成三角形的条件表达式
{
// 【代码3】 // 给boo赋值。}
boo = true;
} else {
// 【代码4】 // 给boo赋值。}
boo = false;
}
}
}
class Lader {
double above, bottom, height, area;
Lader(double a, double b, double h) {
// 【代码10】 // 方法体,将参数a,b,c分别赋值给above,bottom,height
above = a;
bottom = b;
height = h;
}
double getArea() {
// 【代码11】 // 方法体,,要求计算出area返回
area = 0.5 * (above + bottom) * height;
return area;
}
}
class Circle {
double radius, area;
Circle(double r) {
// 【代码12】 // 方法体
radius = r;
}
double getArea() {
// 【代码13】 // 方法体,要求计算出area返回
return Math.PI * radius * radius;
}
double getLength() {
// 【代码14】 // getArea方法体的代码,要求计算出length返回
return 2 * Math.PI * radius;
}
void setRadius(double newRadius) {
radius = newRadius;
}
double getRadius() {
return radius;
}
}
public class AreaAndLength {
public static void main(String args[]) {
double length, area;
Circle circle = null;
Trangle trangle;
Lader lader;
circle = new Circle(1);
trangle = new Trangle(3, 4, 5);
lader = new Lader(4, 5, 3);
// 【代码15】 // 创建对象circle
// 【代码16】 // 创建对象trangle。
// 【代码17】 // 创建对象lader
// 【代码18】 // circle调用方法返回周长并赋值给length
length = circle.getLength();
System.out.println("圆的周长:" + length);
// 【代码19】 // circle调用方法返回面积并赋值给area
area = circle.getArea();
System.out.println("圆的面积:" + area);
// 【代码20】 // trangle调用方法返回周长并赋值给length
length = trangle.getLength();
System.out.println("三角形的周长:" + length);
// 【代码21】 // trangle调用方法返回面积并赋值给area
area = trangle.getArea();
System.out.println("三角形的面积:" + area);
// 【代码22】 // lader调用方法返回面积并赋值给area
area = lader.getArea();
System.out.println("梯形的面积:" + area);
// 【代码23】 // trangle调用方法设置三个边,要求将三个边修改为12,34,1。
// 【代码24】 // trangle调用方法返回面积并赋值给area
area = trangle.getArea();
System.out.println("三角形的面积:" + area);
// 【代码25】 // trangle调用方法返回周长并赋值给length
area = trangle.getLength();
System.out.println("三角形的周长:" + length);
}
}
Java实验报告
我刚做了一个,呵呵
import java.awt.Button;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Calculator extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
// public static final int EXIT_ON_CLOSE = 3;
private Button plus=new Button("+"); //运算符
private Button minus=new Button("-");
private Button multip=new Button("*");
private Button divise=new Button("/");
private Panel pan=new Panel();
private JLabel opl1 = new JLabel("操作数1");
private JLabel opl2 = new JLabel("操作数2");
private JLabel resl = new JLabel("结果:");
private TextField op1=new TextField(10);
private TextField op2=new TextField(10);
private TextField result=new TextField(10);
public Calculator ()
{
super("Calculator");
initialize();
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
try
{
if(e.getSource()==plus)
{
if(op1.getText().equals("")||op2.getText().equals(""))
result.setText("操作数不完整");
else
{
int oprt1 = Integer.parseInt(op1.getText());
int oprt2 = Integer.parseInt(op2.getText());
Integer temp = oprt1+oprt2;
result.setText(temp.toString());
}
}
if(e.getSource()==minus)
{
if(op1.getText().equals("")||op2.getText().equals(""))
result.setText("操作数不完整");
else
{
int oprt1 = Integer.parseInt(op1.getText());
int oprt2 = Integer.parseInt(op2.getText());
Integer temp = oprt1-oprt2;
result.setText(temp.toString());
}
}
if(e.getSource()== multip)
{
if(op1.getText().equals("")||op2.getText().equals(""))
result.setText("操作数不完整");
else
{
int oprt1 = Integer.parseInt(op1.getText());
int oprt2 = Integer.parseInt(op2.getText());
Integer temp = oprt1*oprt2;
result.setText(temp.toString());
}
}
if(e.getSource()==divise)
{
if(op1.getText().equals("")||op2.getText().equals(""))
result.setText("操作数不完整");
else
{
int oprt1 = Integer.parseInt(op1.getText());
int oprt2 = Integer.parseInt(op2.getText());
Integer temp = oprt1/oprt2;
result.setText(temp.toString());
}
}
}
catch(Exception ee)
{
result.setText(ee.getMessage());
ee.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Calculator();
}
}
Java程序设计实验报告 继承与多态
package MyShape;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Circle c = new Circle(2,4,3);
c.printItMyWay();
}
}
abstract class Shape{
public abstract float getCir();
public abstract float getArea();
}
class Point extends Shape implements Printable{
public int x;
public int y;
public Point(int x, int y){
this.x= x;
this.y=y;
}
public Point (){
}
@Override
public float getCir() {
// TODO Auto-generated method stub
return 0;
}
@Override
public float getArea() {
// TODO Auto-generated method stub
return 0;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
@Override
public void printItMyWay() {
System.out.println(" Point ("+x+","+y+")");
System.out.println(" Point Area:"+this.getArea());
System.out.println(" Point Circle:"+this.getCir());
}
}
class Circle extends Point implements Printable{
public float r ;
public Circle(){
}
public Circle(float r,int x, int y ){
? ? ? if(r0){
? ? ? this.r =r;
? ? ? this.x =x;
? ? ? this.y=y;
}
}
public float getR() {
return r;
}
public void setR(float r) {
this.r = r;
}
@Override
public float getArea() {
return (float) (r*r*3.14/2);
}
@Override
public float getCir() {
return (float) (3.14*r*2);
}
@Override
public void printItMyWay() {
System.out.println(" Circle ("+x+","+y+")");
System.out.println(" Circle R:"+r);
System.out.println(" Circle Area:"+this.getArea());
System.out.println(" Circle Circle:"+this.getCir());
}
}
interface Printable {
public void printItMyWay();
}