java编程题,求代码,在线等
java编程题有一个文件夹A,文件夹下有若干文本文件和子文件夹,子文件夹结构与A相同,层次未知,文本文件格式如下,请从A中找到所有文本文件并读取出所有的姓名,并输入文件B...
java编程题
有一个文件夹A,文件夹下有若干文本文件和子文件夹,子文件夹结构与A相同,层次未知,文本文件格式如下,请从A中找到所有文本文件并读取出所有的姓名,并输入文件B.TXT,内容为姓名和重复的次数,并按重复次数排序:
1, 张三,28
2, 李四,35
3, 张三,28
4, 王五,35
5, 张三,28
6, 李四,35
7, 赵六,28
8, 田七,35 展开
有一个文件夹A,文件夹下有若干文本文件和子文件夹,子文件夹结构与A相同,层次未知,文本文件格式如下,请从A中找到所有文本文件并读取出所有的姓名,并输入文件B.TXT,内容为姓名和重复的次数,并按重复次数排序:
1, 张三,28
2, 李四,35
3, 张三,28
4, 王五,35
5, 张三,28
6, 李四,35
7, 赵六,28
8, 田七,35 展开
1个回答
展开全部
改后的程序,对数组理解有误,建议先看看二维数组的表示就好懂了,另外没必要的参数多了,反而不好理解,删去更好
public static void main(String[] args) {
int score = 0;
//int i = 0; //不需要
String sArray[][] = { { "ming", "apple" }, { "li", "xigua" },
{ "dong", "banana" }, { "hua", "putao" } };
int j; //k不需要,参数尽量少
j = 0;
//k = 0;
while (j < 4) // 1:0,1,2,3循环四次 以j做循环判断
{
Scanner keyboardInput = new Scanner(System.in);
System.out.println("输入类型:(1表示猜人名,2表示猜水果)");
// System.out.println("prompt1"); // 2: 输入提示字符串加双引号
int type = keyboardInput.nextInt();
//System.out.println(type); 这样写不好
if (type == 1)
{
System.out.println("水果名答人名" + "\n" + sArray[j][1] + "? =>"); // 后加判断真假
// 然后加分
// 我不懂怎么写
Scanner sc = new Scanner(System.in);
String answer = sc.nextLine();
if (answer.equals(sArray[j][0])) // sArray[0][0]表示第一个元素一个值,sArray[0][1]表示第一个元素第二个值
{
score = score + 2; // 答对得两分
}
}
else if (type == 2)
{
System.out.println("人名答水果"
+ "\n" + sArray[j][0] + "? =>"); // 后加判断真假
// 然后加分
// 我不懂怎么写
Scanner sc1 = new Scanner(System.in);
String answer = sc1.next();
if (answer.equals(sArray[j][1]))
{
score = score+2;
}
}
j++; // 不能掉,否则控制不了执行次数
}
System.out.println("\nBye. Your score is " + score);
}
关键的地方在于第一种:输出[j][1],将输入与[j][0]比较,第二种:输出[j][0],将输入与[j][1]比较
这里能理解就简单了,不能理解的话就去看二维数组吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询