谁能编2个Java程序50行以上,每行都要带注释
因为我们考试要用的要用说的说给老师听每行是什么意识``由于本来没认真听过课所以请程序不要太难题目没有要求看是*号排列成图形还是图形的变换什么的基础的JAVA知识就可以在此...
因为我们考试要用的 要用说的 说给老师听 每行是什么意识``由于本来没认真听过 课 所以请 程序不要太难 题目没有要求 看是 *号 排列成图形 还是图形的变换 什么的 基础 的JAVA 知识 就可以 在此先谢过了。
展开
展开全部
import java.util.Scanner;
public class GuessingGame {
public static void main(String[] args) {
// 表示玩家猜测的次数
int count = 0;
// 用于保存判断的结果
int[] result = new int[2];
Scanner scanner = new Scanner(System.in);
System.out.println("GuessingGame>欢迎尝试猜字母游戏!");
// 表示猜测的字符串
char[] chs = generate();
System.out.println(chs);
System.out.println("GuessingGame>游戏开始,请输入你所猜的5个字母序列:(exit——退出)");
while (true) {
String inputStr = scanner.next().trim().toUpperCase();
if ("EXIT".equals(inputStr)) {
System.out.println("GuessingGame>谢谢你的尝试,再见!");
break;
}
char[] input = inputStr.toCharArray();
result = check(chs, input);
if (result[0] == chs.length) {// 完全猜对的情况
int score = 100 * chs.length - count * 10;
System.out.println("GuessingGame>恭喜你猜对了!你的得分是:" + score);
break;
} else {
count++;
System.out.println("GuessingGame>你猜对" + result[1] + "个字符,其中"
+ result[0] + "个字符的位置正确!(总次数=" + count + ",exit——退出)");
}
}
}
/**
* 随机生成需要猜测的字母序列
*
* @return 存储随机字符的数组
*/
public static char[] generate() {
char[] letters = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
'W', 'X', 'Y', 'Z' };
boolean[] flags = new boolean[letters.length];
char[] chs = new char[5];
for (int i = 0; i < chs.length; i++) {
int index;
do {
index = (int) (Math.random() * (letters.length));
} while (flags[index]);// 判断生成的字符是否重复
chs[i] = letters[index];
flags[index] = true;
}
return chs;
}
/**
* 比较玩家输入的字母序列和程序所生成的字母序列,逐一比较字符及其位置,并记载比较结果
*
* @param chs
* 程序生成的字符序列
* @param input
* 玩家输入的字符序列
* @return 存储比较的结果。返回值int数组 的长度为2,其中,索引为0的位置
* 用于存放完全猜对的字母个数(字符和位置均正确),索引为1的位置用于存放猜对的字母个数(字符正确,但是位置不正确)。
*/
public static int[] check(char[] chs, char[] input) {
int[] result = new int[2];
for (int i = 0; i < input.length; i++) {
for (int j = 0; j < chs.length; j++) {
if (input[i] == chs[j]) {// 判断字符是否正确
result[1]++;
if (i == j) {// 判断位置是否正确
result[0]++;
}
break;
}
}
}
return result;
}
}
public class Zhishu{
public static void main(String[] args) {
int count = 0; //质数的个数---计数器
for(int num=2;num<=100;num++){//2到100之间质数
boolean flag = true; //1.开关第一步,假设
for(int i=2;i<=Math.sqrt(num);i++){
if(num%i==0){
flag = false; //2.开关第二步,改变
break;
}
}
if(flag){ //是质数 //3开关第三步,判断
count++; //质数个数增1
System.out.print(num+"\t");
if(count%10==0){
System.out.println();
}
}
}
}
}
展开全部
package net.at111.iwf.wannianli; import java.util.Scanner; public class PrintCalendar2 { /** * @author zpf万年历 用天数差的办法 */ public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("********************************欢迎使用万年历**********************************\n\n"); System.out.print("请选择年份:"); int year = input.nextInt(); System.out.print("请输入月份:"); int moth = input.nextInt(); int day = 0;// 要打印的每个月的天数 /* * 下面求相差的年数 */ switch (moth) { case 1: day = 31; break; case 2: if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { day = 29;// 判断闰年的天数 } else { day = 28; } break; case 4: case 6: case 9: case 11: day = 30; break; case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; default: System.out.println("输入错误"); break; } int day1 = 0; int day3 = 0; int sumDay = 0; int yearday = 0; for (int i = 1900; i < year; i++) { if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {// i和year day1++;// 闰年累加 } else { day3++;// 平年累加 } yearday = day1 * 366 + day3 * 365;// 闰年和平年的和得到相差年数的天数 }
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好还是把题目发一下吧,随便写下也就50行了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |