Java 如何随机化除黑色以外的颜色?

Java 如何随机化除黑色以外的颜色?,java,random,colors,Java,Random,Colors,这一行 g.setColor(新颜色(numGen.nextInt(256)、numGen.nextInt(256)、numGen.nextInt(256)) 生成一个随机颜色,但出于某种原因,我不想在其中包含黑色。我可以限制值吗?例如,仅80-256以排除深色。我尝试了Math.random并做了模运算,但不起作用。请帮帮我。多谢各位 如果要偏移该数字,请在较小范围内随机化并添加偏移量 g.setColor( new Color(127 + numGen.nextInt(128),

这一行
g.setColor(新颜色(numGen.nextInt(256)、numGen.nextInt(256)、numGen.nextInt(256))

生成一个随机颜色,但出于某种原因,我不想在其中包含黑色。我可以限制值吗?例如,仅80-256以排除深色。我尝试了
Math.random
并做了模运算,但不起作用。请帮帮我。多谢各位

如果要偏移该数字,请在较小范围内随机化并添加偏移量

g.setColor(
  new Color(127 + numGen.nextInt(128), 
  new Color(127 + numGen.nextInt(128), 
  new Color(127 + numGen.nextInt(128));
private int randomBetween(int min, int max) {
    int range = max - min;
    return min + numGen.nextInt(range);
}

...

g.setColor(new Color(randomBetween(80,256), randomBetween(80,256), randomBetween(80,256)));

这假设您希望每个颜色分量具有最小强度。

如果您希望偏移,请在较小范围内随机化数字并添加偏移

private int randomBetween(int min, int max) {
    int range = max - min;
    return min + numGen.nextInt(range);
}

...

g.setColor(new Color(randomBetween(80,256), randomBetween(80,256), randomBetween(80,256)));

这假设您需要每个颜色分量的最小强度。

要生成80-256之间的数字:

css

html

<head>        
</head>
<body>
    <div id='mydiv'></div>
    <button id = "myRandomizeBtn">Randomize</button> 
</body>

随机化
javascript

$("#myRandomizeBtn").bind("click",randomizeHandler); 

function randomizeHandler(evt){     
var root=document.getElementById('mydiv');
var tab=document.createElement('table');
tab.className="mytable";
var tbo=document.createElement('tbody');
var row, cell;
var n = 3;  
var data;    

for (i=0; i<n; i++)
{
    row=document.createElement('tr');
    for(var j=0;j<n;j++){
        cell=document.createElement('td');
        data = Math.floor(80+(176*Math.random())); 
        cell.appendChild(document.createTextNode(data));
        row.appendChild(cell);
    }
    tbo.appendChild(row);
}
tab.appendChild(tbo);
root.appendChild(tab);
   }  
$(“#myRandomizeBtn”).bind(“单击”,randomizeHandler);
函数随机化Handler(evt){
var root=document.getElementById('mydiv');
var tab=document.createElement('table');
tab.className=“mytable”;
var tbo=document.createElement('tbody');
var行、单元格;
var n=3;
var数据;

对于(i=0;i生成80-256之间的数字:

css

html

<head>        
</head>
<body>
    <div id='mydiv'></div>
    <button id = "myRandomizeBtn">Randomize</button> 
</body>

随机化
javascript

$("#myRandomizeBtn").bind("click",randomizeHandler); 

function randomizeHandler(evt){     
var root=document.getElementById('mydiv');
var tab=document.createElement('table');
tab.className="mytable";
var tbo=document.createElement('tbody');
var row, cell;
var n = 3;  
var data;    

for (i=0; i<n; i++)
{
    row=document.createElement('tr');
    for(var j=0;j<n;j++){
        cell=document.createElement('td');
        data = Math.floor(80+(176*Math.random())); 
        cell.appendChild(document.createTextNode(data));
        row.appendChild(cell);
    }
    tbo.appendChild(row);
}
tab.appendChild(tbo);
root.appendChild(tab);
   }  
$(“#myRandomizeBtn”).bind(“单击”,randomizeHandler);
函数随机化Handler(evt){
var root=document.getElementById('mydiv');
var tab=document.createElement('table');
tab.className=“mytable”;
var tbo=document.createElement('tbody');
var行、单元格;
var n=3;
var数据;

对于(i=0;注意颜色整数的值只能到255。@AndrewThompson我认为我没有超过255。最大值的实现方式是非包容性的,但可能我对此不清楚。注意颜色整数的值只能到255。@AndrewThompson我认为我没有超过255。最大值的实现方式是mAX是不包括在内的,但是我不太清楚。非常感谢!这非常有帮助!非常感谢!这非常有帮助!我意识到你写了80-255来排除深色,但是显然这也排除了我不考虑黑暗255,0,0等的颜色。我意识到你写了80-255来排除深色,但是显然这也会。排除颜色,我不认为黑暗255,0,0等。