gpt4 book ai didi

java - 如何在同一行上获得多个输入而没有空格

转载 作者:行者123 更新时间:2023-11-30 03:15:45 25 4
gpt4 key购买 nike

我正在为我的计算机科学类(class)编写一个程序。设置并不难,而且它完成了它应该做的事情。但我的问题是我希望它在同一行上接受所有输入,没有任何空格。该程序应该获取 ISBN 的前 9 位数字,找到第十位数字并将其打印出来。我知道你可以通过将数字作为字符串然后解析它(我相信?)来做到这一点,这样你就可以获得单独的整数。虽然我不完全确定我上次尝试时正确设置了 while 循环,但这样做会让我必须完全更改我的代码,不是吗?问题是这样的:(商业:检查 ISBN-10)ISBN-10(国际标准书号)由 10 位数字组成:d1d2d3d4d5d6d7d8d9d10。最后一位数字 d10 是校验和,使用以下公式从其他九位数字计算得出:(d1 * 1 + d2 * 2 + d3 * 3 + d4 * 4 + d5 * 5 +d6 * 6 + d7 * 7 + d8 * 8 + d9 * 9) % 11如果校验和为 10,则根据 ISBN-10,最后一位数字表示为 X习俗。编写一个程序,提示用户输入前 9 位数字显示 10 位 ISBN(包括前导零)。你的程序应该读输入为整数。无论哪种方式,这里都是没有循环接收带有空格的输入的代码:

/* Class:        CS1301
* Section: 9:30
* Term: Fall 2015
* Name: Matthew Woolridge
* Instructor: Mr. Robert Thorsen
* Assignment: 4
* Program: 1
* ProgramName: ISBN_Number
* Purpose: Prompts the user to enter the first nine numbers of an ISBN and calculates the tenth
* Operation: The information to be numbers are statically instantiated in the code and
* the table is output to the screen.
* Input(s): The user inputs the first nine ISBN numbers
* Output(s): The output will be the full the tenth ISBN number in the full number
* Methodology: The program will use if statements and defined variables which use the user input variables to calculate the ISBN
* and return it to the user.
*
*/

import java.util.Scanner;
public class ISBN_Number
{

public static void main (String[] args)
{

/******************************************************************************
* Declarations Section *
******************************************************************************/
/****************************CONSTANTS********************************/
int [] ISBN = new int [8];
int num1 = 0;
int nextNum;
int i;
int input=0;
int num10=0;
String fullIsbn;

Scanner scan = new Scanner (System.in); //Scanner utility initialization

/******************************************************************************
* Inputs Section *
******************************************************************************/

System.out.print("Please input the first nine digits (between 0-9) of your ISBN not including the leading 0: ");
for (i = 0; i<ISBN.length;i++)
{
nextNum = scan.nextInt(); // For loop that asks for an input until it fills the array of 8
ISBN[i] = nextNum;
++input;
}

/****************************variables********************************/
if (input == 8)
{
num10 = (ISBN[0] * 1 + ISBN[1] * 2 + ISBN[2] * 3 + ISBN[3] * 4 + ISBN[4] * 5 + ISBN[5] * 6 + ISBN[6] * 7 + ISBN[7] * 8 + ISBN[8] * 9) % 11; // Calculates the value of num10
}
else
{
System.out.println("You did not input enough or input too many digits.");
}

/******************************************************************************
* Processing Section *
******************************************************************************/

if (num10 == 10)
{
fullIsbn = num1 + ISBN[0] + "" + ISBN[1] + "" + ISBN[2] + "" + ISBN[3] + "" + ISBN[4] + "" + ISBN[5] + "" + ISBN[6] + "" + ISBN[7] + "" + ISBN[8] + "" + "X";
}
else // Determines if num10 is equal to x or not and prints
{
fullIsbn = num1 + "" + ISBN[0] + "" + ISBN[1] + "" + ISBN[2] + "" + ISBN[3] + "" + ISBN[4] + "" + ISBN[5] + "" + ISBN[6] + "" + ISBN[7] + "" + ISBN[8] + "" + num10;
}

/******************************************************************************
* Outputs Section *
******************************************************************************/

System.out.print("The full ISBN number is " + fullIsbn); // Prints the full 10 digit isbn
} // Rnds string
} // Ends program

最佳答案

这个想法是这样的:

  1. 将用户输入作为整数数组的索引。
  2. Sytem.out.print(yourArrayName[9]);//打印出数组的第10个数

例如:

import java.util.Scanner;
public class Main
{

public static void main (String[] args)
{
Scanner keyboard = new Scanner(System.in);
int [] ISBN = new int [10];
int input =0;

System.out.print("Give me 10 numbers: ");

for (int i = 0; i<ISBN.length;i++){
int nextNumber = keyboard.nextInt();
ISBN[i] = nextNumber;
++input;

if (input==10){
System.out.print("The tenth number you gave me is: "+ISBN[9]);
}
}

}
}

您应该能够像这样应用上述策略来实现您的要求:

import java.util.*;
public class Main
{

public static void main (String[] args)
{
Scanner keyboard = new Scanner(System.in);
int [] ISBN = new int [10];
int input =0;
String fullIsbn;

System.out.print("Give me 10 numbers: ");

for (int i = 0; i<ISBN.length;i++){
int nextNumber = keyboard.nextInt();
ISBN[i] = nextNumber;
++input;

if (input==10){
ISBN[0]=0;
ISBN[9] = (ISBN[0] * 1 + ISBN[1] * 2 + ISBN[2] * 3 + ISBN[3] * 4 + ISBN[4] * 5 + ISBN[5] * 6 + ISBN[6] * 7 + ISBN[7] * 8 + ISBN[8] * 9) % 11;
if (ISBN[9] == 10)
{

fullIsbn = ISBN[0] + "" + ISBN[1] + "" + ISBN[2] + "" + ISBN[3] + "" + ISBN[4] + "" + ISBN[5] + "" + ISBN[6] + "" + ISBN[7] + "" + ISBN[8] + "" + "X";
}
else // Determines if num10 is equal to x or not and prints
{
fullIsbn = ISBN[0] + "" + ISBN[1] + "" + ISBN[2] + "" + ISBN[3] + "" + ISBN[4] + "" + ISBN[5] + "" + ISBN[6] + "" + ISBN[7] + "" + ISBN[8] + "" + ISBN[9];

}
System.out.print("The tenth number you gave me is: "+fullIsbn);
}
}

}
}

关于java - 如何在同一行上获得多个输入而没有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32675227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com