课堂代码
1、Addition.java
// An addition program
import javax.swing.JOptionPane; // import class JOptionPane
public class Addition {
public static void main( String args[] )
{
String firstNumber, // first string entered by user
secondNumber; // second string entered by user
int number1, // first number to add
number2, // second number to add
sum; // sum of number1 and number2
// read in first number from user as a string
firstNumber =
JOptionPane.showInputDialog( "Enter first integer" );
// read in second number from user as a string
secondNumber =
JOptionPane.showInputDialog( "Enter second integer" );
// convert numbers from type String to type int
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber );
// add the numbers
sum = number1 + number2;
// display the results
JOptionPane.showMessageDialog(
null, "The sum is " + sum, "Results",
JOptionPane.PLAIN_MESSAGE );
System.exit( 0 ); // terminate the program
}
}
将两个整数相加并显示结果。
程序会显示一个提示框,要求用户输入第一个整数。输入值会以字符串的形式被保存。接下来会显示另一个提示框,要求输入第二个整数。输入值会以字符串的形式被保存
然后,将这两个字符串类型的数值转换为整型,并保存
number1和number2结果保存在sum变量中。
用户将会看到一个简单的提示框,显示两个整数相加的结果。
2、EnumTest.java
public class EnumTest {
public static void main(String[] args) {
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t); //
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
}
enum Size{SMALL,MEDIUM,LARGE};
因为 s 与 t 引用对象不同,会输出 false
枚举类型为引用类型,所以不是原始数据类型,会输出false
s引用的为SMALL u也为SMALL 所以这项判断是正确的,会输出true
最后是输出所有枚举类型的值SMALL MEDIUM LARGE
3、InputTest.java
import java.util.*;
public class InputTest
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("What is your name? ");
String name = in.nextLine();
System.out.print("How old are you? ");
int age = in.nextInt();
int i;
String value="100";
i=Integer.parseInt(value);
i=200;
String s=String.valueOf(i);
System.out.println("Hello, " + name + ". Next year, you'll be " + (age + 1));
}
}
一个输入输出的程序 输入姓名 年龄 输出明年的年龄
被注释的代码作用 它将字符串"value"转换为整数并赋值给变量’i’。然后,它将’i’的值更改为200,并将200转换为字符串并赋值给变量’s’。和这个程序好像没有关系
不过学会了字符串与整型的相互转化
4、RandomStr.java
public class RandomStr
{
public static void main(String[] args)
{
//定义一个空字符串
String result = "";
//进行6次循环
for(int i = 0 ; i < 6 ; i ++)
{
//生成一个97~122的int型的整数
int intVal = (int)(Math.random() * 26 + 97);
//将intValue强制转换为char后连接到result后面
result = result + (char)intVal;
}
//输出随机字符串
System.out.println(result);
}
}
生成随机数
随机数转换为字符
字符存入字符串
随机生成验证码程序中可以用,考虑改为4位
5、SwitchTest.java
import java.awt.Graphics;
import javax.swing.*;
public class SwitchTest extends JApplet {
int choice;
public void init()
{
String input;
input = JOptionPane.showInputDialog(
"Enter 1 to draw lines\n" +
"Enter 2 to draw rectangles\n" +
"Enter 3 to draw ovals\n" );
choice = Integer.parseInt( input );
}
public void paint( Graphics g )
{
for ( int i = 0; i < 10; i++ ) {
switch( choice ) {
case 1:
g.drawLine( 10, 10, 250, 10 + i * 10 );
break;
case 2:
g.drawRect( 10 + i * 10, 10 + i * 10,
50 + i * 10, 50 + i * 10 );
break;
case 3:
g.drawOval( 10 + i * 10, 10 + i * 10,
50 + i * 10, 50 + i * 10 );
break;
default:
JOptionPane.showMessageDialog(
null, "Invalid value entered" );
} // end switch
} // end for
} // end paint()
} // end class SwitchTest
放到编译器中,发现没有主函数
自己添加了一个主函数
import java.awt.Graphics;
import javax.swing.*;
public class Main extends JApplet {
int choice;
public void init()
{
String input;
input = JOptionPane.showInputDialog(
"Enter 1 to draw lines\n" +
"Enter 2 to draw rectangles\n" +
"Enter 3 to draw ovals\n" );
choice = Integer.parseInt( input );
}
public void paint( Graphics g )
{
for ( int i = 0; i < 10; i++ ) {
switch( choice ) {
case 1:
g.drawLine( 10, 10, 250, 10 + i * 10 );
break;
case 2:
g.drawRect( 10 + i * 10, 10 + i * 10,
50 + i * 10, 50 + i * 10 );
break;
case 3:
g.drawOval( 10 + i * 10, 10 + i * 10,
50 + i * 10, 50 + i * 10 );
break;
default:
JOptionPane.showMessageDialog(
null, "Invalid value entered" );
} // end switch
} // end for
} // end paint()
public static void main(String[] args) {
Main applet = new Main();
applet.init();
applet.start();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(applet);
frame.setSize(300, 300);
frame.setVisible(true);
}
}
生成直线 矩形 和圆
6、Test.java
public class Test {
public static void main(String[] args) {
int intValue=100;
long longValue=intValue;
double doubleValue=1234567890;
float floatValue=(float)doubleValue;
System.out.println(floatValue);//1.23456794E9
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
doNotRunme();
}
}
先删除了一部分代码
第一部分 int类型转换为long long类型 double类型转换为float类型 前者为低精度转换为高精度没有问题 而后者是高精度转换为低精度 造成精度丢失 产生错误
第二部分 主要是两个输出 第一个输出结果为100200 表示+X+Y不能将其想加
删除的代码是
doNotRunme(); String string=""; double d1=1000.123; double d2=1000.123; if(Math.abs(d2-d1)<1e-10) { } public static void doNotRunme() { doNotRunme(); }
7、TestBigDecimal.java
import java.math.BigDecimal;
public class TestBigDecimal
{
public static void main(String[] args)
{
BigDecimal f1 = new BigDecimal("0.05");
BigDecimal f2 = BigDecimal.valueOf(0.01);
BigDecimal f3 = new BigDecimal(0.05);
System.out.println("下面使用String作为BigDecimal构造器参数的计算结果:");
System.out.println("0.05 + 0.01 = " + f1.add(f2));
System.out.println("0.05 - 0.01 = " + f1.subtract(f2));
System.out.println("0.05 * 0.01 = " + f1.multiply(f2));
System.out.println("0.05 / 0.01 = " + f1.divide(f2));
System.out.println("下面使用double作为BigDecimal构造器参数的计算结果:");
System.out.println("0.05 + 0.01 = " + f3.add(f2));
System.out.println("0.05 - 0.01 = " + f3.subtract(f2));
System.out.println("0.05 * 0.01 = " + f3.multiply(f2));
System.out.println("0.05 / 0.01 = " + f3.divide(f2));
}
}
下面使用String作为BigDecimal构造器参数的计算结果:
0.05 + 0.01 = 0.06
0.05 - 0.01 = 0.04
0.05 * 0.01 = 0.0005
0.05 / 0.01 = 5.00
下面使用double作为BigDecimal构造器参数的计算结果:
0.05 + 0.01 = 0.060000000000000005
0.05 - 0.01 = 0.04000000000000001
0.05 * 0.01 = 0.0005000000000000001
0.05 / 0.01 = 5.000000000000001
public class TestDouble {
public static void main(String args[]) {
System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
System.out.println("4.015 * 100 = " + (4.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
}
}
0.05 + 0.01 = 0.06
1.0 - 0.42 = 0.58
4.015 * 100 = 401.5
123.3 / 100 = 1.233

浙公网安备 33010602011771号