您的位置:首页 > 编程语言 > Java开发

java程序设计基础篇 复习笔记 第三单元

2014-12-26 01:07 489 查看
1
单向if语句
双向if语句
dangling else
switch:char,byte,short,int
2
javax.swing.JOptionPane.showConfirmDialog(null,text);
返回值:
JOptionPane.YES_OPTION:0
JOptionPane.NO_OPTION:1
JOptionPane.CANCEL_OPTION:2
3
cannot cast int from boolean
cannot cast boolean from int
4
%b
5
printf("%f",2);
java.util.IllegalFormatConversionException
6
java基本是值传参,基本类型不可改,需要Integer,Double打包,
Field f = r1.getClass().getDeclaredField("value");
f.setAccessible(true);
f.setDouble(r1.r1+1);
同时不能使用拷贝构造函数

public static boolean calEquRoot(double a,double b,double c,Double r1,Double r2) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException{
double delta = a * a - 4 * b * c;
if(delta < 0)return false;
delta=Math.sqrt(delta);
Field f=r1.getClass().getDeclaredField("value");
//r1=Double.valueof(1.0);r2=Double.valueof(2.0);
f.setAccessible(true);
f.setDouble(r1,Double.valueOf((-b+delta)/2/a));
f.setDouble(r2,Double.valueOf((-b-delta)/2/a));
return true;
}

String类型为不可变字符串,传入也不改变其值

Keyword:
Boolean expression
Boolean value
boolean type
break statement
conditional operator
dangling-else ambiguity
fall-through behavior:语句从匹配处开始执行,直到遇到break语句或是达到switch语句的末端。
operator associativity
operator precedence
selection statement
short-circuit evaluation

3.1
< <= >= != == >
3.2
cannot cast
3.3
30 is even
30 is odd
________________
30 is even
3.4
z is 5
________________
z is 7
________________
x is 2
3.5
a==c==d
缩进正确:b,c
3.6
.............
3.7
等价
3.8
0.5,0.0,0.234
3.9
Math.random()*20;
Math.random()*10+10;
Math.random()*40+10;
3.10
if(y > 0)x=1;
3.11
if(score > 90)pay+=1.03;

if(score > 90)pay+=1.03;
else pay*=1.01;
3.12
if (score >= 90.0)grade = 'A';
else if (score >= 80.0)grade = 'B';
else if (score >= 70.0)grade = 'C';
else if (score >= 60.0)grade = 'D';
else grade = 'F';
3.13
boolean fl = count % 10 == 0;
if (fl)newLine = true;
else newLine = false;
3.14
false,false,true,true,true,true,
3.15
x >= 1 && x <= 100
3.16
(x >= 1 && x <= 100) || x<0
3.17
x = y && y
x /= y
(x != 0) || (x = 0)
3.18
2
2
3.19
true,false,true,false
3.20
(x < y && y < z) is true
(x < y || y < z) is true
!(x < y) is false
(x + y < z) is false
(x + y < z) is false
3.21
age > 13 && age < 18
3.22
weight > 50 || height > 160
3.23
weight > 50 && height > 160
3.24
weight > 50 ^ height > 160
3.25
char,byte,int,long
下一个标签内的语句
可以
可能不行
格式紧凑,可读性好
3.26
2
3.27
switch(a){
case 1:
x+=5;
break;
case 2:
x+=10;
break;

case 3:
x+=16;
break;

case 4:
x+=34;
}
3.28
switch(day){
case 0:
dayName = "Sunday";
break;
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
}
3.29
System.out.print(count + count % 10 ==0?"\n":" ");
3.30
pay*=(temperature > 90?1.5:1.1);
3.31
%b %c %d %f %s
3.32
变参个数多
变参个数少
java.util.IllegalFormatConversionException
3.33
amount is 32.32 3.232000e+01
amount is 32.3200 3.2320e+01
false
Java
falseJava
false Java
3.35
true
true
3.36
假,赋值运算符(简捷运算符/=...)
3.37
false
false
3.38
yes,yes,yes
3.39
javax.swing.JOptionPane.showConfirmDialog(null,confirmMessage);
JOptionPane.YES_OPTION:0
JOptionPane.NO_OPTION:1
JOptionPane.CANCEL_OPTION:2

3.1
import java.lang.reflect.Field;
import java.util.Scanner;
import java.text.*;

public class Exercise {
public static int calEquRoot(double a,double b,double c,Double r1,Double r2) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException{

double delta = b * b - 4 * a * c;
if(delta < 0)return -1;
delta=Math.sqrt(delta);
Field f=r1.getClass().getDeclaredField("value");
f.setAccessible(true);
f.setDouble(r1,Double.valueOf((-b+delta)/2/a));
f.setDouble(r2,Double.valueOf((-b-delta)/2/a));
if(delta < 1e-10)return 0;
return 1;
}
public static void main(String[] args) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException{
double a,b,c;
Double r1 = Double.valueOf(0),r2 = Double.valueOf(0);
Scanner scanner = new Scanner(System.in);
System.out.println("Input a:");
a = scanner.nextDouble();
System.out.println("Input b:");
b = scanner.nextDouble();
System.out.println("Input c:");
c = scanner.nextDouble();
int fl=calEquRoot(a,b,c,r1,r2);
if(fl == 1){
System.out.println(r1);
System.out.println(r2);
}
else if(fl == 0){
System.out.println(r1);
}
else {
System.out.println("NO ROOT");
}
}
}
3.9
import java.util.Scanner;
public class Exercise {
public static void main(String[] args) throws Exception{
Scanner scanner = new Scanner(System.in);
int[] a = new int[9];
int ans=0;
String tmp=scanner.next();
for(int i=0;i<9;i++){
a[i]=tmp.charAt(i)-'0';
ans+=(a[i] * (i + 1)) % 11;
}
ans%=11;
System.out.println(tmp+ans);
}
}
3.17
import java.util.Scanner;
public class Exercise {
public static void main(String[] args) throws Exception{
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
int r = (int)Math.random() * 3;
String[] srp={"scissor","rock","paper"};
String[] result={"You won","You lose","It is a draw"};
System.out.print("scissor(0), rock(1), paper(2): ");
int a;
while((a=scanner.nextInt())<=2 && a>=0){
System.out.print("The computer is "+srp[r]+". You are "+srp[a]+(a==r?" too. ":". ")
+ (a==r?result[2]:(a-r==1||a-r==-2)?result[0]:result[1]));
}
}
}
3.20
import java.util.Scanner;
public class Exercise {
public static void main(String[] args) throws Exception{
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the temperature in Fahrenheit: ");
double ta;
while((ta=scanner.nextDouble()) < -58||ta > 41){
System.out.print("Enter the temperature in Fahrenheit bewteen -58 and 41: ");
}
double v;
System.out.print("Enter the wind speed miles per hour: ");
while((v=scanner.nextDouble()) < 2){
System.out.print("Enter the wind speed miles per hour above 2 miles/h: ");
}
double ans=35.74 + 0.6215 * ta - 35.75 * Math.pow(v, 0.16) + 0.4275 * ta * Math.pow(v, 0.16);
System.out.println("The wind chill index is "+ans);
}
}
3.21
import java.util.Scanner;
public class Exercise {
/**
* 泽勒一致性
* */
public static void main(String[] args) throws Exception{
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
int year,month,day,week;
System.out.print("Enter year: ");
year = scanner.nextInt();
System.out.print("Enter month: ");
month = scanner.nextInt();
if(month < 3)month+=12;
System.out.print("Enter the day of the month: ");
day = scanner.nextInt();
String[] date = {
"Saturday","Sunday",
"Monday","Tuesday","Wednesday",
"Thursday","Friday"
};
week = (day + 26*(month + 1)/10 + year % 100 + year % 100 / 4 + year/400 + year/100*5)%7;
System.out.println("Day of the week is " + date[week]);
}
}
3.22
import java.util.Scanner;
public class Exercise {
public static void main(String[] args) throws Exception{
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
double x,y;
System.out.print("Enter a point with two coordinates: ");
x = scanner.nextDouble();
y = scanner.nextDouble();
if(x * x + y * y <= 100){
System.out.println("Point ("+x+", "+y+") is in the circle");
}
else {
System.out.println("Point ("+x+", "+y+") is not in the circle");
}
}
}
3.27
import java.util.Scanner;
public class Exercise {
final static double eps=1e-16;
public static boolean judge(double a,double b,double x,double y){
if(Math.abs(a - b) < eps && a < eps ){
if(Math.abs(x - y) < eps && x < eps){
return true;
}
else return false;
}
else{
boolean fl = a * b < 0;
boolean fl2 = (b * x + a * y - a * b) > 0;
if(fl^fl2){
return false;
}
else return true;
}
}
public static void main(String[] args) throws Exception{
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
double x,y;
System.out.print("Enter a point with two coordinates: ");
x = scanner.nextDouble();
y = scanner.nextDouble();
if(judge(200,100,x,y)){
System.out.println("Point ("+x+", "+y+") is in the circle");
}
else {
System.out.println("Point ("+x+", "+y+") is not in the circle");
}
}
}
3.28
import java.util.Scanner;
public class Exercise {
final static double eps=1e-16;
public static int judge(double[] w,double[] h,double[] x,double[] y){
w[0]/=2;w[1]/=2;h[0]/=2;h[1]/=2;
double dx = Math.abs(x[0] - x[1]);
double dy = Math.abs(y[0] - y[1]);
if(dx > w[0] + w[1]||dy > h[0] + h[1])return 0;
if(dx > w[0]||dy > h[0])return 2;
return 1;
}
public static void main(String[] args) throws Exception{
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
double[] x = new double [2],y = new double [2],w = new double [2],h = new double [2];
System.out.println("Enter r1's center x-, y-coordinates, width, and height: ");
x[0] = scanner.nextDouble();
y[0] = scanner.nextDouble();
w[0] = scanner.nextDouble();
h[0] = scanner.nextDouble();
System.out.println("Enter r2's center x-, y-coordinates, width, and height: ");
x[1] = scanner.nextDouble();
y[1] = scanner.nextDouble();
w[1] = scanner.nextDouble();
h[1] = scanner.nextDouble();
int fl;
if((fl = judge(w,h,x,y)) == 0){
System.out.println("r2 does not overlap r1");
}
else if(fl == 1){
System.out.println("r2 is inside r1");
}
else {
System.out.println("r2 overlaps r1");
}
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: