java


JAVA ISBN-10 Number: Find 10th digit [closed]


Question :
An ISBN-10 consists of 10 digits: d1,d2,d3,d4,d5,d6,d7,d8,d9,d10. The last digit, d10, is a checksum,which is calculated from the other nine digits using
the following formula:
(d1 * 1 + d2 * 2 + d3 * 3 + d4 * 4 + d5 * 5 + d6 * 6 + d7 * 7 + d8 * 8 + d9 * 9) % 11
If the checksum is 10, the last digit is denoted as X according to the ISBN-10
convention.
Write a program that prompts the user to enter the first 9 digits and displays the 10-digit ISBN (including leading zeros). Your program should read the input as an integer.
Here are sample runs:
Enter the first 9 digits of an ISBN as integer: 013601267
The ISBN-10 number is 0136012671
MY CODE:
import java.util.Scanner;
public class ISBN_Number {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[] num = new int[9];
System.out.println("Enter the first 9 digits of the an ISBN as integer: ");
for (int i = 0; i < num.length; i++) {
for (int j = 1; j < 10; j++) {
num[i] = s.nextInt() * j;
}
}
int sum = 0;
for (int a = 0; a < 10; a++) {
sum += num[a];
}
int d10 = (sum % 11);
System.out.println(d10);
if (d10 == 10) {
System.out.println("The ISBN-10 number is " + num + "X");
} else {
System.out.println("The ISBN-10 number is" + num);
}
}
}
ISSUE:
I am new to learning java, hence I am having trouble trying to figure this question out. Can some tell me where I am going wrong because I am not getting the expected outcome. Thank you.
nextInt() consumes the entire token 013601267, not just a single digit, which was not your plan. A much easier approach could be to consume it as a single string and then iterate over the characters:
String num = s.next();
int sum = 0;
for (int i = 1; i <= num.length(); ++i) {
sum += (i * num.charAt(i - 1) - '0');
}
int d10 = (sum % 11);
if (d10 == 10) {
System.out.println("The ISBN-10 number is " + num + "X");
} else {
System.out.println("The ISBN-10 number is " + num + d10);
}
Because
for (int i = 0; i < num.length; i++) {
for (int j = 1; j < 10; j++) {
num[i] = s.nextInt() * j;
}
}
here your every input will be multiply 9 times
like when user enters 2
then 2 will be multiply like (2*1)(2*2)(2*3) shown on....so here at num[0]==
18(2*9)

Related Links

My Selenide code is not launching the browser but showing pass test case
Opencv java UnsatisfiedLinkError
GET request fails with JAX-RS: Could not find MessageBodyWriter for response object of type: java.util.ArrayList of media type: text/html
Maven Invalid maximum heap size error -Xmx4g on mahout-math-scala_2.10
Junk Chars appended while writing string content in Mapr FS
Read file store valid lines in list and store some part of data of valid lines in database with hibernate
Add native admob ads in GridView's Items using BaseAdapter
Fast & Efficient Way To Read Large JSON Files Line By Line in Java
How to return data from multiple echos between two activities?
how can I implement zlib.compress in java
User is unable to see images in downloaded word files from server
Error Inflating for Background Drawables for marshmallow
How to check if JSON is nested or not in Java?
Reading a int[] from java properties file
Java getting ObjectInputStream ObjectOutputStream from a socket
Verify if a list contains an specific element using Hamcrest [duplicate]

Categories

HOME
ionic-framework
debugging
fluentd
google-api-php-client
view
office365api
filtering
retrofit
opengl-es-2.0
qore
facebook-php-sdk
gnupg
tomcat6
quickbooks
nstableview
postgres-xl
windows-phone-7
ghc
libtiff
graphlab
openrefine
code-review
visual-composer
css-animations
wijmo
sqlcipher
tdd
qhull
windows-error-reporting
atlassian-crucible
delicious-api
nouislider
sql-server-2012-express
preg-match-all
asset-pipeline
main
swisscomdev
occlusion
janrain
no-www
acoustics
sas-jmp
rainbowtable
parentheses
hibernate-tools
chain-builder
setter
boost-preprocessor
qtwebview
sqlbulkcopy
topbeat
medium.com
deadbolt-2
removechild
slicknav
pagedlist
freelancer.com-api
sdhc
retina
django-unittest
twirl
nsight
sniffer
lustre
offloading
winddk
contenttype
doskey
mysql-error-1062
picturefill
hyprlinkr
meteor-velocity
imdbpy
industrial
listings
xamlparseexception
wsdl-2.0
angularjs-controller
javaspaces
rfc1123
inotifycollectionchanged
mysql-error-1005
digest-authentication
gamma
asp.net-profiles
iweb
microsoft-virtualization
project-hosting
windows-live-messenger

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App