1.比如编程代码排版.
2.还有更好的算法.(算法也不太会.太高深的别说了估计我还没见过哈);
3.哪里需要改进.
4.有什么bug.
5.主要是编程风格.我觉得有点太糊涂的代码不好阅读.哪位好心人帮改改号阅读了
6.对了try...catch...加在while里面就不能用了为啥啊
try{
System.out.print("请输入一个数字:");
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader dr = new BufferedReader(in);
int i = Integer.parseInt(dr.readLine());
}catch(Exception e){}
为啥编译出错啊...
下面是编译不错的代码.哪里改进欢迎指点:import java.io.*;
import java.util.*;
public class GuessValue{
public static void main(String args[]) {
Random sj = new Random();
int k = sj.nextInt(100) ;
try{
while(true){
System.out.print("请输入一个数字:");
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader dr = new BufferedReader(in);
int i = Integer.parseInt(dr.readLine());
if(i>k){
System.out.println("你输入的数字大啦...");
}else{
if(i<k){
System.out.println("你输入的数字小啦...");
}else{
System.out.println("你输入的数字对啦...");
break;
}
}
}
}catch(Exception e){
System.out.println("你输入的不是一个数字啊!!");
}
}
}
2.还有更好的算法.(算法也不太会.太高深的别说了估计我还没见过哈);
3.哪里需要改进.
4.有什么bug.
5.主要是编程风格.我觉得有点太糊涂的代码不好阅读.哪位好心人帮改改号阅读了
6.对了try...catch...加在while里面就不能用了为啥啊
try{
System.out.print("请输入一个数字:");
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader dr = new BufferedReader(in);
int i = Integer.parseInt(dr.readLine());
}catch(Exception e){}
为啥编译出错啊...
下面是编译不错的代码.哪里改进欢迎指点:import java.io.*;
import java.util.*;
public class GuessValue{
public static void main(String args[]) {
Random sj = new Random();
int k = sj.nextInt(100) ;
try{
while(true){
System.out.print("请输入一个数字:");
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader dr = new BufferedReader(in);
int i = Integer.parseInt(dr.readLine());
if(i>k){
System.out.println("你输入的数字大啦...");
}else{
if(i<k){
System.out.println("你输入的数字小啦...");
}else{
System.out.println("你输入的数字对啦...");
break;
}
}
}
}catch(Exception e){
System.out.println("你输入的不是一个数字啊!!");
}
}
}
最好先对 dr.readLine()的值判断后再转.
System.out.println("你输入的数字大啦...");
}else{
if( i < k){ //这里也是
System.out.println("你输入的数字小啦...");
} else {
System.out.println("你输入的数字对啦...");
break;
}
}
1楼啥叫程序得属性啊 ???
对了我得第六个问题谁帮解答下啊//
6.对了try...catch...加在while里面就不能用了为啥啊
try{
System.out.print("请输入一个数字:");
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader dr = new BufferedReader(in);
int i = Integer.parseInt(dr.readLine()); }catch(Exception e){ }
为啥编译出错啊...
下面是编译不错的代码.哪里改进欢迎指点:
再就是只能玩一次就不能玩了,猜对了就玩了,应该用多线程实现,才对了一会再重新启动一个线程,接着再玩新一轮,对吧?
代码风格与你的个人习惯和公司要求有关。
要多次玩也不用多线程。
我的代码:import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Random;public class GuessValue { public static void main(String args[]) {
Random sj = new Random();
int k = sj.nextInt(100);
while (true) {
System.out.print("请输入一个数字:");
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader dr = new BufferedReader(in);
try {
int i = Integer.parseInt(dr.readLine()); if (i > k) {
System.out.println("你输入的数字大啦...");
} else {
if (i < k) {
System.out.println("你输入的数字小啦...");
} else {
System.out.println("你输入的数字对啦...");
k = sj.nextInt(100);
}
}
} catch ( Exception e) {
System.out.println("你输入的不是一个数字啊!!");
}
}
}
}
你把输入的叫input,随即数叫randomNum这样一看就知道是什么东西.
另外如果分支比较多的话用switch case,或者else if()会好看很多.至于输入的是不是数字你可以在输入的时候就判断掉,没必要靠接异常来判断.只有在真正异常的时候去处理异常,因为java的异常开销是比较大的,可以从根本上避免的话就避免吧...
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;/**
* @author david
* 猜数字游戏
*/
public class GuessNumber { public static void main(String[] args) {
// 新建一个随机数产生器,然后生成一个0到99之间的整数
Random random = new Random();
int number = random.nextInt(100); // 记录玩家所猜测的数字
int guess = 0; // 获取控制台输入
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in)); // 记录玩家猜测的次数。
int counter = 0; System.out.println("我心里有一个0到99之间的整数,你猜是什么?"); do {
try {
// 获取玩家的输入。
guess = Integer.parseInt(input.readLine());
} catch (NumberFormatException e) {
// 如果玩家不是输入一个合法的整数,则让他重新输入。
System.out.println("请输入一个0-99之间的整数!");
continue;
} catch (IOException e) {
System.out.println("程序发生异常错误将被关闭!");
e.printStackTrace();
} // 对玩家的输入进行判断。
if (guess > number)
System.out.println("大了点,再猜!");
if (guess < number)
System.out.println("小了点,再试试!"); // 计数器增加一。
counter++;
} while (guess != number); // 判断成绩。
switch (counter) {
case 1:
System.out.println("守护……快来看上帝……");
break;
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
System.out.println("这么快就猜对了,你很聪明啊!");
break;
default:
System.out.println("猜了半天才猜出来,小同志,尚须努力啊!");
break;
} System.out.println("Game Over!");
}
}
public class Guess {
public static void main(String[] args) {
System.out.println("我心里有一个0到99之间的整数,你猜是什么?");
int counter; //记录玩家猜测的次数
int number = (int)(Math.random()*100); //产生的0~99之间的随机数
int guess; //玩家猜的数字
boolean isCorrect = false;
Scanner input = new Scanner(System.in);
for(counter = 1; counter < 20; counter++){
guess = input.nextInt(); //从键盘获取一个数字
if(guess == number){
System.out.println("猜对了!");
isCorrect = true;
break;
}else if(guess > number){
System.out.println("大了点,再猜!");
}else if(guess < number){
System.out.println("小了点,再试试!");
}
}
if(isCorrect){
/*计算得分*/
switch(counter){
case 1:
System.out.println("你太有才了!");
break;
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
System.out.println("这么快就猜出来了,很聪明么!");
break;
default:
System.out.println("猜了半天才猜出来,小同志,尚须努力啊!");
break;
}
}else{
System.out.println("猜测次数已满!");
}
}
}