我對java很新,所以這可能看起來像一個基本問題。我嘗試使用隨機java.util和nextInt在用戶輸入指定的範圍內創建一個隨機數,然後將其轉換爲字符,然後將其存儲在數組中;使用import java.util.Random; nextInt和用戶輸入
gridCells[x][y] = (char)(r.nextInt(numberOfRegions) + 'a');
但是,因爲我想nextInt使用的用戶輸入,雖然IM控制值的範圍,因爲nextInt認爲numberOfRegions可能是0即時猜測錯誤是怎麼引起的?
// Map Class
import java.util.Random;
public class map
{
// number of grid regions
private int numberOfRegions;
private boolean correctRegions = false
// grid constants
private int xCord = 13; // 13 so the -1 makes 12 for a 12x12 grid
private int yCord = 13;
// initiate grid
private int[][] gridCells = new int[xCord][yCord];
Random r = new Random();
map() { }
// ask for number of regions
public void regions()
{
keyboard qwerty = new keyboard(); // keyboard class
while(correctRegions = false)
{
System.out.print("Please enter the number of regions: ");
numberOfRegions = qwerty.readInt();
if(numberOfRegions < 2) // nothing less then 2 accepted
{
correctRegions = false;
}
else if(numberOfRegions > 4) // nothing greater then 4 accepted
{
correctRegions = false;
}
else
{
correctRegions = true;
}
}
}
// fills the grid with regions
public void populateGrid()
{
for(int x =0; x<gridCells[x].length-1; x++) // -1 to avoid outofboundsexception error
{
for(int y =0; y<gridCells[y].length-1; y++)
{
gridCells[x][y] = (char)(r.nextInt(numberOfRegions) + 'a');
}
}
}
public void showGrid()
{
for(int x=0;x<gridCells[x].length-1; x++)
{
for(int y=0; y<gridCells[x].length-1; y++)
{
System.out.print(gridCells[x][y] + " ");
}
System.out.println();
}
}
}
什麼是錯誤? – mvieghofer
private boolean correctRegions = false;' 有一個額外的'標記,將不會編譯... – wxyz
這屬於codereview.stackexchange比這裏更... –