【发布时间】:2013-04-29 17:33:34
【问题描述】:
以下代码进入 else 语句。我无法找出我犯错的地方。 *A 想在下面的 cmets 中执行。 *B 在下面的 cmets 中执行。
package com.java;
import java.util.Scanner;
public class Solution
{
static int n;
static String w[];
public static void main(String[] args)
{
System.out.println("enter no of string between 1 to 50");
Scanner scanner = new Scanner(System.in);
//* A
if ((1<n) && (n<=50))
{
n = scanner.nextInt();
System.out.println("enter " +n+ "strings between 1 to 2000 length");
for (int i=0; i<n; i++)
{
w[i]= scanner.next();
if ((1<w[i].length()) && (w[i].length()<2000))
{
System.out.println("ok");
}
}
System.out.println(w);
}
// *B
else
{
System.out.println("coming due to static");
}
}
}
【问题讨论】:
-
正确缩进你的代码可以很好地理解“case 1”和“case 2”的含义。
-
根据您所写的内容,n 将始终为 0,因为它是静态的,您永远不会更改它的值。
标签: java variables if-statement for-loop static