java程序,实现任意输入10个整数,倒着顺序输出数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java程序,实现任意输入10个整数,倒着顺序输出数字相关的知识,希望对你有一定的参考价值。

代码如下:已经考虑到输入错误的情况,输入的不是整数或者是字母需要重新输入。

import java.util.Scanner;
public class Test 
public static void main(String [] args)
int[] arr = new int[10];
for (int i = 0; i < arr.length; i++) 
System.out.print("请输入第"+(i+1) + "个数字:");
arr[i] = input();

System.out.println("输入完毕。\\r\\n输入结果如下:");
for (int i = 0; i < arr.length; i++) 
System.out.print(arr[i] + "\\t");

System.out.println("\\r\\n倒序输出:");
for (int i = arr.length-1; i >= 0; i--) 
System.out.print(arr[i] + "\\t");



public static int input()
int x = Integer.MIN_VALUE ;
try
x = new Scanner(System.in).nextInt();
 catch(Exception e)
System.out.print("\\r\\n输入错误,请重新输入。");
x = input();

return x;

追问

排除错误的那一段看不太懂,能帮忙解释下吗?谢~

确实你考虑的比较完整。

追答

排错是这样的,因为输入的时候有可能手一抖按错了,将数字按成了字母,然后打了回车输入进去,但是这个时候因为我是使用int类型去接受的,这样肯定接受不了,正常情况下JVM会给你报异常,具体是什么异常你可以自己试一下,我的代码里就直接用一个最大的异常来捕获了。捕获到异常,说明输入错了,那么我就在那里先进行提示,然后再让用户重新输入。这样。直到输入的是能接受的int类型的数字,那么就返回这个数字。
我在input这个方法里其实就是递归了一下而已。

追问

为什么有一个MIN_VALUE?

追答

这个你完全可以忽略,这只是属于编程习惯,我是给x的默认值为int类型的最小值而已。因为局部变量不赋值的话不能使用,所以有这么一句,这里你可以改成0或者-1或者9999,只要在int类型的范围之内都没关系的。

参考技术A import java.util.Scanner;
public class Demo001 

public static void main(String[] args) 

System.out.println("请输入10个数,以空格隔开:");
Scanner scaner = new Scanner(System.in);

String strInput = scaner.nextLine();

String a[] = strInput.split(" ");

for (int i = 0; i < a.length; i++)

System.out.print(a[a.length - i - 1] + " ");



运行结果:

追问

是顺序相反,数字本身不用反

你这段程序,如果有数字输入98,则输出为89。。

追答

我的数字变了吗?你真搞笑。

参考技术B package test;

import java.util.Scanner;

public class Dg

public static void main ( String[] args )

Scanner scanner = new Scanner (System.in);
int count = 0;
String line = null;
String string = "";
while (count < 10 && null != ( line = scanner.nextLine () ))

string += line + "|";
count++;

scanner.close ();
String[] result = string.split ("\\\\|");
for ( int i = result.length - 1; i >= 0; i-- )

System.out.print (result[i] + " ");


参考技术C import javax.swing.JOptionPane;

public class ReverseString 
    public static void reverseString (String str)
        StringBuffer stringBuffer = new StringBuffer (str);
       
        System.out.print(stringBuffer.reverse());
    
   
    public static void main (String args[])
        String originalString;
       
        originalString = JOptionPane.showInputDialog("Please input a String: ");
       
        reverseString (originalString);       
    

写一函数对输入的一组整数由小到大排序,在main主函数调用该函数实现排序。(输入任意个整数即可输出

写一函数对输入的一组整数由小到大排序,在main主函数调用该函数实现排序。(输入任意个整数即可输出结果,好像有点难)
没有百度到合适的答案,等大神。

#include <stdio.h>

void sort(int a[], int n)

int i,j,t;

    for(j=0;j<n-1;j++)

        for(i=0;i<n-1-j;i++)

            if(a[i] > a[i + 1])

            t=a[i];a[i]=a[i+1];a[i+1]=t;

 

int main()

int a[1000];

    int i,n=0;

printf("请输入一组整数,以负数表示输入结束:\\n");

scanf("%d",&a[0]);

while(a[n]>=0)

scanf("%d",&a[++n]);

sort(a,n);

    for (i=0;i<n;i++)

        printf("%d ", a[i]);

    printf("\\n");

getch();

追问

我在c4droid上报错怎么回事

可能是c4的问题吧

参考技术A http://blog.163.com/asm_c/blog/static/24820311320116106320659/

参考。
参考技术B 重点在于如何结束。
必须约定结束条件。追问

随便,比如换行结束

加0结束都可以

追答#include <stdio.h>
#include <stdlib.h>
void int_sort(int *a, int l)

    int i, j;
    for(i = 0; i < l-1; i ++)
        for(j = i+1; j < l; j ++)
            if(a[i]>a[j])
            
                int t = a[i];
                a[i] = a[j];
                a[j] = t;
            

  
int main()

    int *a;
    int t = 10;
    int i = 0;
    a = (int*)malloc(sizeof(int)*t);
 
    while(1)
    
        if(scanf("%d",a+i)!=1)break;
        i++;
        if(t == i)
        
            t+=10;
            a = (int *)realloc(a, sizeof(int)*t);
        
    
    t = i;
    int_sort(a,t);
    for(i = 0; i < t; i ++)
        printf("%d,",a[i]);
    printf("\\n");
 
    free(a);
    return 0;

在刚才换行结束的基础上,随便改动一下,就是这个输入非法字符结束的了。

以上是关于java程序,实现任意输入10个整数,倒着顺序输出数字的主要内容,如果未能解决你的问题,请参考以下文章

写一函数对输入的一组整数由小到大排序,在main主函数调用该函数实现排序。(输入任意个整数即可输出

用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。

c++程序设计,输入4个整数按从小到大顺序输出

C语言如何从键盘输入任意3个数,按从小到大的顺序输出?

急C#(从键盘输入三个数)从大到小的顺序输出

C语言编程题:输入五个整数,再按相反顺序输出的程序? 谢谢