求一个JAVA程序,输入任意多个10以内的正整数, 输入-1表示输入结束。输出每个整数出现的次数,用数组做
2个回答
展开全部
1. Scanner输入
2. if判断是否结束
3. 遍历数组
import java.util.Arrays;
import java.util.Scanner;
public class ShuZu{
public static void main(String[] args) {
int a = 0;
int[] aa= new int[0];
Scanner cin = new Scanner(System.in);
for(;;){
System.out.println("请输入10以内的整数,-1表示结束");
String s1 = cin.nextLine();
try{
a = Integer.parseInt(s1);
//a = cin.nextInt();
if(a == -1){
cout(aa);
break;
}
else if(a>=0 && a<=10){
if(aa.length == 0)
aa = new int[]{a};
else{
aa = Arrays.copyOf(aa, aa.length+1);//因为要求用数组,否则直接String简单些
aa[aa.length-1] = a;
}
}
else
System.out.println("请输入10以内的整数");
}catch(Exception e){
System.out.println("您输入的不是数字,请重新输入");
}
System.out.println(Arrays.toString(aa));
}
}
private static void cout(int[] aa) {
int tem = 0;
outer:
for(int i=0;i<aa.length;i++){
int count = 1;
tem = aa[i];
for(int j=0;j<i;j++){
if(tem == aa[j]){
continue outer;
}
}
for(int j=i+1;j<aa.length;j++){
if(tem == aa[j]){
count++;
}
}
System.out.println(tem +"\t次数:"+ count);
}
}
}
2. if判断是否结束
3. 遍历数组
import java.util.Arrays;
import java.util.Scanner;
public class ShuZu{
public static void main(String[] args) {
int a = 0;
int[] aa= new int[0];
Scanner cin = new Scanner(System.in);
for(;;){
System.out.println("请输入10以内的整数,-1表示结束");
String s1 = cin.nextLine();
try{
a = Integer.parseInt(s1);
//a = cin.nextInt();
if(a == -1){
cout(aa);
break;
}
else if(a>=0 && a<=10){
if(aa.length == 0)
aa = new int[]{a};
else{
aa = Arrays.copyOf(aa, aa.length+1);//因为要求用数组,否则直接String简单些
aa[aa.length-1] = a;
}
}
else
System.out.println("请输入10以内的整数");
}catch(Exception e){
System.out.println("您输入的不是数字,请重新输入");
}
System.out.println(Arrays.toString(aa));
}
}
private static void cout(int[] aa) {
int tem = 0;
outer:
for(int i=0;i<aa.length;i++){
int count = 1;
tem = aa[i];
for(int j=0;j<i;j++){
if(tem == aa[j]){
continue outer;
}
}
for(int j=i+1;j<aa.length;j++){
if(tem == aa[j]){
count++;
}
}
System.out.println(tem +"\t次数:"+ count);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Shuzu {
public static void main(String[] args)
{
int x = 0;
//创建二维数组,第二维计数
int[][] array = new int[10][1];
for (int i = 0; i < array.length; i++) {
array[i][0] = 0;
}
Scanner scanner = new Scanner(System.in);
x = scanner.nextInt();
while (x != -1) {
//超过10就退出
if(x<10&&x>-1) {
array[x][0]++;
}
x = scanner.nextInt();
}
for (int i = 0; i < array.length; i++) {
System.out.println(i+":"+array[i][0]);
}
}
}
不知道是否满足你的要求。
public static void main(String[] args)
{
int x = 0;
//创建二维数组,第二维计数
int[][] array = new int[10][1];
for (int i = 0; i < array.length; i++) {
array[i][0] = 0;
}
Scanner scanner = new Scanner(System.in);
x = scanner.nextInt();
while (x != -1) {
//超过10就退出
if(x<10&&x>-1) {
array[x][0]++;
}
x = scanner.nextInt();
}
for (int i = 0; i < array.length; i++) {
System.out.println(i+":"+array[i][0]);
}
}
}
不知道是否满足你的要求。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询