Android 生成10个数字并将第一个数字移动到末尾10次
我有生成1到10个数字的代码:Android 生成10个数字并将第一个数字移动到末尾10次,android,Android,我有生成1到10个数字的代码: for (int i = 0; i <=10; i++) { for (int j = 1; j <=10; j++) { int respones = i; int respones1 = j; if (respones1 > respones) { text.append(String.valueOf(respones1)
for (int i = 0; i <=10; i++)
{
for (int j = 1; j <=10; j++)
{
int respones = i;
int respones1 = j;
if (respones1 > respones)
{
text.append(String.valueOf(respones1));
}
}
}
但是,我想要这个结果:
12345678910
2345678910
345678910
45678910
5678910
678910
78910
8910
910
10
12345678910
23456789101
34567891012
45678910123
56789101234
67891012345
78910123456
89101234567
91012345678
10123456789
如何获取代码,使其将第一个数字移动到字符串的末尾?这应该可以:
for (int i = 0; i < 10; i++){
int res = i + 1;
for (int j = 1; j <= 10; j++){
text.append(String.valueOf(res));
if (res == 10) res = 0;
res++;
}
}
for(int i=0;i<10;i++){
int res=i+1;
对于(int j=1;j请尝试此代码
StringBuilder text = new StringBuilder();
StringBuilder text1 = new StringBuilder();
for (int i = 0; i <= 10; i++) {
for (int j = 1; j <= 10; j++) {
int respones = i;
int respones1 = j;
if (respones1 > respones) {
text.append(String.valueOf(respones1));
}
}
text1.append(String.valueOf(i));
if (i > 0) {
text.append(text1);
}
text.append(" ");
}
System.out.println(text.toString());
StringBuilder text=new StringBuilder();
StringBuilder text1=新的StringBuilder();
对于(int i=0;i 0){
text.append(text1);
}
正文。追加(“”);
}
System.out.println(text.toString());
试试这个:
for (int i = 0; i < 10; i++) {
for (int j = i + 1; j <= i + 10; j++) {
int respones = i;
int respones1 = j;
if (respones1 > respones) {
text.append(String.valueOf(respones1 > 10 ? respones1 % 10 : respones1));
}
}
}
for(int i=0;i<10;i++){
对于(int j=i+1;j响应){
text.append(String.valueOf(respones1>10?respones1%10:respones1));
}
}
}
最终整数计数=10;
对于(inti=1;i试试这个
StringBuilder text=new StringBuilder();
int repeat=10;
for (int index=1;index<=repeat;index++){
int count=0;
int temp=index;
while (count<repeat){
if(temp<=repeat){
text.append(temp);
}else {
temp=temp-repeat;
text.append(temp);
}
count++;
temp++;
}
text.append(" ");
}
StringBuilder text=new StringBuilder();
int repeat=10;
对于(int index=1;index也可以按如下方式进行:
int no = 1;
int n = 10;
StringBuilder sb;
for(int i=1;i<=n;i++){
sb = new StringBuilder();
int cnt = 1;
no = i;
while(cnt<=n){
if(no<=n){
sb.append(no).append(" ");
no++;
cnt++;
}else{
no=(no-n);
sb.append(no).append(" ");
no++;
cnt++;
}
}
System.out.println(sb.toString());
}
intno=1;
int n=10;
为某人做准备;
对于(int i=1;i,这里有一个动态解决方案,适用于最小值小于最大值的任何数字范围
int min = 1;
int max = 10;
int count = max - min;
StringBuilder sb = new StringBuilder();
for (int i = 0; i <= count; ++i) {
for (int j = 0; j <= count; ++j) {
sb.append(String.valueOf(((j + i) % (count + 1)) + min));
}
sb.append("\n");
}
System.out.println(sb.toString());
intmin=1;
int max=10;
整数计数=最大-最小值;
StringBuilder sb=新的StringBuilder();
对于(int i=0;i我认为最好的方法是使用deque/queue,因为它可以在两个操作中实现序列中的数字旋转
ArrayDeque<int> deque = new ArrayDeque<int>(10); // Create a queue
for(int i = 1; i <= 10; ++i) // Fill queue with [1..10]
{
deque.addLast(i);
}
StringBuilder builder = new StringBuilder(); // A StringBuilder will be more efficient than string concatenation
for(int i = 1; i <= 10; ++i)
{
for(int item : deque) // Append the queue contents to the string
{
builder.append(item);
}
builder.append("\n"); // New line
int temp = deque.removeFirst(); // Take the first item from the deque
deque.addLast(temp); // And append it to the end of the deque
}
ArrayDeque deque=new ArrayDeque(10);//创建一个队列
对于(inti=1;i这是c#
public static void OneToTen()
{
StringBuilder sb=新的StringBuilder();
对于(int i=1;我使用队列数据structure@maaartinus使用just response1%10不会打印10,而是在此处不需要的位置打印0。@NileshSingh抱歉,我只看到了0
,没有看到前面的1
。删除我的注释。
ArrayDeque<int> deque = new ArrayDeque<int>(10); // Create a queue
for(int i = 1; i <= 10; ++i) // Fill queue with [1..10]
{
deque.addLast(i);
}
StringBuilder builder = new StringBuilder(); // A StringBuilder will be more efficient than string concatenation
for(int i = 1; i <= 10; ++i)
{
for(int item : deque) // Append the queue contents to the string
{
builder.append(item);
}
builder.append("\n"); // New line
int temp = deque.removeFirst(); // Take the first item from the deque
deque.addLast(temp); // And append it to the end of the deque
}
public static void OneToTen()
{
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 10; i++)
{
sb.Clear();
for (int j = i; j <= 10; j++)
{
sb.Append(j);
}
for (int j = 1; j < i; j++)
{
sb.Append(j);
}
Debug.WriteLine(sb.ToString());
}
//second solution
Debug.WriteLine("");
for (int i = 0; i < 10; i++)
{
sb.Clear();
for (int j = 0; j < 10; j++)
{
sb.Append(((i+j)%10) + 1);
}
Debug.WriteLine(sb.ToString());
}
Debug.WriteLine("");
}