我正在创建一种方法,要求我提供一个数字,然后我将以星号将该数字打印出来。例如,如果我输入数字4,则应打印出来:
*
**
***
****
代码:
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Enter your number ");
int number = in.nextInt();
String numbah = Integer.toString(number);
String substring = numbah.substring(0);
if(number < 0)
{
System.out.println("Bye bye!");
System.exit(0);
}
for(int i = 0; i < number; i ++)
{
System.out.println("*");
}
}
}
我在每行增加符号时遇到麻烦。
答案 0 :(得分:0)
尝试使用Java 11中的repeat
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Enter your number ");
int number = in.nextInt();
String numbah = Integer.toString(number);
String substring = numbah.substring(0);
if(number < 0)
{
System.out.println("Bye bye!");
System.exit(0);
}
for(int i = 0; i < number; i ++)
{
System.out.println("*".repeat(i));
}
}
}
或者来自Java 1.5 +
System.out.println(new String(new char[i]).replace("\0","*");
正如其他人所说,您可以创建一个String变量,并在每个for循环中连接一个*
答案 1 :(得分:0)
或更简单的版本:
for(int i = 1; i <= number; i ++)
{
for(int j = 1; j <= i; j++){
System.out.print("*");
}
System.out.println();
}
添加内部联接
答案 2 :(得分:0)
Java 11允许重复方法。
var express = require('express'); // (npm install --save express)
var request = require('supertest');
var app;
function createApp() {
app = express();
var router = express.Router();
router.route('/').get(function(req, res) {
return res.json({ goodCall: true });
});
app.use(router);
return app;
}
describe('Our server', function() {
// Called once before any of the tests in this block begin.
before(function(done) {
app = createApp();
app.listen(function(err) {
if (err) {
return done(err);
}
done();
});
});
it('should send back a JSON object with goodCall set to true', function() {
request(app)
.get('/index')
.set('Content-Type', 'application/json')
.expect('Content-Type', /json/)
.expect(200, function(err, res) {
if (err) {
return done(err);
}
const callStatus = res.body.goodCall;
expect(callStatus).to.equal(true);
// Done
done();
});
});
});