/*
* Copyright (c) 2016, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:student.project
* 作者:李潇
* 完成日期:2017年3月10日
* 版本号:NetBeans
*
* 问题描述:
1.编写一个Java应用程序,该程序能够输出26个希腊字母。提示:需要查到第一个希腊字母的ASCII值。
2.编写一个Java应用程序,用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都回文数。
3.猜数字游戏。编写一个Java应用程序,实现功能:
(1)程序随机分配给用户一个1~100之间的随机数
(2)用户在输入对话框中输入自己的猜测
(3)程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”、“猜对了”
(4)用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。
* 输入描述: 根据要求输入
*输出描述: 输出相应的结果
*/
代码:
//Game猜数字游戏
import java.util.Scanner;
import java.util.Random;
public class Game {//猜数字游戏
public void display(){
Scanner reader=new Scanner(System.in);
Random random=new Random();
System.out.println("给你一个1至100之间的整数,请猜测这个数");
int realNumber =random.nextInt(100)+1;//random.nextInt(100)是[0,100]中随机取整
int yourGuess ;
System.out.println("输入你的猜测:");
yourGuess=reader.nextInt();
while(yourGuess !=realNumber){
if(yourGuess > realNumber){//猜大了的情况
System.out.println("猜大了,再输入你的猜测");
yourGuess=reader.nextInt();
}
else if(yourGuess < realNumber){//猜小了的情况
System.out.println("猜小了,再输入你的猜测");
yourGuess=reader.nextInt();
}
}
System.out.println("恭喜你猜对了!");
}
}
// GreekAlphabet输出26个的希腊字母表
public class GreekAlphabet {//输出26个的希腊字母表
public void printf(){
int startPosition=0,endPosition=0;
char cStart='α',cEnd='ω';
startPosition=(int)cStart;//cStart做int型转换并把结果赋值给startPosition
endPosition=(int)cEnd;//cEnd做int型转换并把结果赋值给endPosition
System.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+startPosition);
System.out.println("希腊字母表:");
int i;
for( i=startPosition;i<=endPosition;i++){
char c='\0';
c=(char)i;//i做char型转换,并将结果赋值给c
System.out.print(" "+c);
if((i-startPosition+1)%10==0)
System.out.println("");
}
}
}
// InputData输入判断的数,输出几位数和是否是回文数
public class InputData {//输入判断的数,输出几位数和是否是回文数
public int how(int n){//判断几位数函数
int count=0;
while(n != 0){
n=n/10;
count++;
}
return count;
}
public void isTrue(int n){//判断是否是回文数函数
int d1,d2,d3,d4;
d4=n/1000;
d3=(n%1000)/100;
d2=(n%100)/10;
d1=n%10;
int d=how(n);
switch(d){
case 1:
System.out.println(""+n+"是回文数");
break;
case 2:
if(d1==d2){
System.out.println(""+n+"是回文数");
}
else{
System.out.println(""+n+"不是回文数");
}
break;
case 3:
if(d1==d3){
System.out.println(""+n+"是回文数");
}
else{
System.out.println(""+n+"不是回文数");
}
break;
case 4:
if(d1==d4 && d2==d3){
System.out.println(""+n+"是回文数");
}
else {
System.out.println(""+n+"不是回文数");
}
break;
default:
System.out.println(" ");
}
}
}
//Test 类
import java.util.*;
public class Test {
public static void main(String args[]){
Scanner reader=new Scanner(System.in);
GreekAlphabet gl=new GreekAlphabet();
gl.printf();
InputData id=new InputData();
int n = reader.nextInt();
if(1<=n && n<=9999){
System.out.println(""+n+"是"+id.how(n)+"位数");
id.isTrue(n);
}
Game g=new Game();
g.display();
}
}
运行结果: