Cập nhật thông tin chi tiết về Lesson: A Closer Look At The “Hello World!” Application (The Java™ Tutorials mới nhất trên website Trucbachconcert.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất.
Trail: Getting Started
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } } /** * The HelloWorldApp class implements an application that * simply prints "Hello World!" to standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } } /* text */ The compiler ignores everything from /* to */. /** documentation */ Javadoc™ tool documentation . The compiler ignores everything fromThe following bold text begins the class definition block for the "Hello World!" application:
/** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } }As shown above, the most basic form of a class definition is:
class name { . . . }The keyword class begins the class definition for a class named name, and the code for each class appears between the opening and closing curly braces marked in bold above. Chapter 2 provides an overview of classes in general, and Chapter 4 discusses classes in detail. For now it is enough to know that every application begins with a class definition.
The following bold text begins the definition of the main method:
/** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } }In the Java programming language, every application must contain a main method whose signature is:
public static void main(String[] args)The modifiers public and static can be written in either order (public static or static public), but the convention is to use public static as shown above. You can name the argument anything you want, but most programmers choose "args" or "argv".
The main method accepts a single argument: an array of elements of type String.
public static void main(String[] args)This array is the mechanism through which the runtime system passes information to your application. For example:
java MyApp arg1 arg2Each string in the array is called a command-line argument. Command-line arguments let users affect the operation of the application without recompiling it. For example, a sorting program might allow the user to specify that the data be sorted in descending order with this command-line argument:
-descendingThe "Hello World!" application ignores its command-line arguments, but you should be aware of the fact that such arguments do exist.
Finally, the line:
System.out.println("Hello World!");uses the System class from the core library to print the "Hello World!" message to standard output. Portions of this library (also known as the "Application Programming Interface", or "API") will be discussed throughout the remainder of the tutorial.
Lesson: A Closer Look At The “Hello World!” Application
Now that you’ve seen the “Hello World!” application (and perhaps even compiled and run it), you might be wondering how it works. Here again is its code:
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } } /** * The HelloWorldApp class implements an application that * simply prints "Hello World!" to standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!");// Display the string. } }The following bold text begins the class definition block for the “Hello World!” application:
/** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!");As shown above, the most basic form of a class definition is:
The keyword class begins the class definition for a class named name, and the code for each class appears between the opening and closing curly braces marked in bold above. Chapter 2 provides an overview of classes in general, and Chapter 4 discusses classes in detail. For now it is enough to know that every application begins with a class definition.
The following bold text begins the definition of the main method:
/** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!");In the Java programming language, every application must contain a main method whose signature is:
public static void main(String[] args)The modifiers public and static can be written in either order ( public static or static public), but the convention is to use public static as shown above. You can name the argument anything you want, but most programmers choose “args” or “argv”.
The main method accepts a single argument: an array of elements of type String.
public static void main(String[] args)This array is the mechanism through which the runtime system passes information to your application. For example:
Each string in the array is called a command-line argument. Command-line arguments let users affect the operation of the application without recompiling it. For example, a sorting program might allow the user to specify that the data be sorted in descending order with this command-line argument:
The “Hello World!” application ignores its command-line arguments, but you should be aware of the fact that such arguments do exist.
Finally, the line:
System.out.println("Hello World!");uses the System class from the core library to print the “Hello World!” message to standard output. Portions of this library (also known as the “Application Programming Interface”, or “API”) will be discussed throughout the remainder of the tutorial.
Which Word Begins With “Y” And Looks Like An Axe In This Picture?
I think the manufacturer of your son’s ball mixed in a Swedish word:
Yxa
Swedish, n.: an axe
The photograph above is page 22 of the Swedish children’s book Vill du läsa I (“Would you like to read [vol I]”) by painter Elsa Beskow. The J above it is for julgran, the Swedish word for Christmas tree.
I say this on the basis that:
I checked several thesauruses, like you, as well as Wikipedia’s category for axes, and while I found adze, chopper, cleaver, hatchet, mattock, tomahawk, twibill and so on, I found nothing approaching a word with an initial y.
I used OneLook.com’s reverse-dictionary functionality to search for “words starting with a y and having a meaning relating to axe“¹ and the only thing suggested was : “a long Turkish knife with a curved blade having a single edge”. An image search tells us that no ball-maker would confuse this sword-like blade for an axe.
Going one step further, I checked Wikipedia’s comprehensive list of bladed weapons, and from all countries, throughout all history, only 3 start with an initial y: yanmaodao (Chinese), yari (Japanese), and yatagan (Turkish). These are all sword-like weapons, not axe-like, and as mentioned in the previous bullet, of the three, only yatagan has made it into English dictionaries.
I used an online tool named Translatr to translate both axe and hatchet into 90+ languages, and cross-checked these with the manual translations on Wiktionary, and literally the only word of those ~200 options which started with a y was Swedish yxa.
Cross-checking the translation from Swedish back into English confirmed that Swedish yxa is English axe. And indeed it is used in Swedish children’s primers to illustrate the letter y, as you can see from the children’s book excerpt above.
As for the other symbols on the ball, we can analyze which letter-symbol pairings make sense in each language. Here I’ve tagged each pairing with ✅ to indicate “the name a toddler would shout out for the depicted object starts with the corresponding letter”, ❌ for “no, it doesn’t”, and ❓ for “this pairing merits further discussion”.
As you can see, because most of these words
are loanwords to both languages (like kangaroo or giraffe), or
are loanwords from English to Swedish (like jet[plane]), or
have [proto-]Germanic roots shared by both English and Swedish (like house and mouse), or
are completely artificial coinages (like xylophone)
most pairings are sensible in both languages.
All told, in Swedish there are 8 words which simply do not fit, not to mention that, as @jkej points out, a Swedish ball would also have to present the letters Å, Ä and Ö, and would possibly choose to omit W. This rules out the possibility that this is a ball made for the Swedish market.
For English, on the other hand, outside the mysterious Y, all the pairings use straightforward, non-suspicious common nouns an English-speaking toddler would be familiar with 4.
Except for one. That U-boat is Swedish-fishy.
Almost no one refers to submarines as U-boats in contemporary English. Quoting @tchrist’s response to that information:
… especially how a submarine or “U-boat” picture that got used for the U, given how uncommon a word for a sub that U-boat is in English these days – and to a toddler rather than to a great-grandfather who might actually remember them.
Which is evidence against the maker of the ball being completely familiar with English as she is spoke.
The submarine could be seen as circumstantial evidence (although not very strong) for some kind of Swedish mix-up explanation. Although U-boat is an English word, it seems a little strange to use it in this context. But in Swedish ubåt is the only word for submarine.
I used Google Image to examine some English alphabet posters and it seemed like almost all of them used umbrella or unicorn for U, but none of them used a U-Boat. Similarly, I found several Swedish alphabet posters with ubåt for U, although uggla (owl) was more common. I can also confirm that yxa was very common for Y.
And indeed it’s easy to turn up Swedish pedagogical material having both Y = yxa and U = ubåt, like this one from the Swedish site imgrum.com:
But it doesn’t stop there.
Following @jkej’s lead on chúng tôi I found the manufacturer is Ball, Bounce and Sport Inc.5
This is page 32 of their online catalog (you need to install Adobe Flash; their PDF catalog is broken 6):
Item G: 54-4155; #10 A-Z Phonics; 0-33149 04155-9
However, though chúng tôi listed “Ball, Bounce and Sport Inc.” as the ball’s manufacturer, upon visiting BB&S’ site, one immediately notices the headers and copy all immediately point to another name:
Structurally, Ball, Bounce and Sport Inc. was once a subsidiary of Hedstrom, and through a series of fits and starts in the last century, eventually took ownership of the Hedstrom brand, and now is doing business as Hedstrom.
That is, Hedstrom is the ball manufacturer’s preferred name for branding purposes. Which is interesting, because the name “Hedstrom” is Scandinavian; per Wikipedia’s article on the surname:
Hedstrom, Hedström and Hedstrøm are surnames of Swedish and Norwegian origin
So is the name Hedstrom indicative of Swedish influences on the ball’s manufactoring process?
The Smart Business article linked above on BBS taking ownership of the the Hedstrom brand notes:
BBS owns 98 percent of U.S. and Canadian rubber ball markets and a growing percentage of the rotational molding market.
BB&S’s Hedstrom Entertainment Division makes play balls and other toys in Asia
But what about Sweden? I’ve read several different histories of Hedstrom. The accounts are confusing and at points seemingly contradictory, involving many name changes.
But the salient event was in 1981:
Eagle Rubber started making balloons out of a garage in 1916. The company grew and spawned an industry that led to Ashland becoming the balloon capital of the world. The company eventually added lines of plastic play balls. It was bought out by Hedstrom Inc. in 1981, which went bankrupt in 2004.
But if Eagle was the company who built up the play ball business, whence the the acquiring company, Hedstrom? According to this column of Harry Rinker, who is an antiques appraiser and thereby somewhat of an historian:
Carl H. Hedstrom, E. Gustaf Hedstrom, Knute W. Hedstrom, Wilfred P. Shuffleton, and Walter Beaman founded the Hedstrom Company, Gardner, Massachusets in 1915. … The Hedstrom Corporation still exists. Its Bedford plant produces outdoor gym sets, play balls, toys, etc. The Dotham operation is toy focused.
Thus the name Hedstrom originates from three Swedes in 1915. The catalog above is dated ~2012, and page 32 lists several of the playballs as new, but not the phonics one, so it’s not clear when the ball was first produced. But certainly a century passed between the reason for naming the company Hedstrom and producing the ball.
So, with a century and countless mergers, bankruptcies, and restructurings intervening, the Swedish name Hedstrom, while intriguing, cannot be adduced as evidence that the Y stands for yxa.
I reached out to Hedstrom via their online contact form, Twitter, and Facebook. They replied to me this morning via Facebook:
They confirm your ball is not an official Hedstrom A-Z Phonics ball. The official ball has a yo-yo for the letter Y. The Hedstrom ball also has a UPC and producer’s mark.
Further, Hedstrom confirms they do no business internationally (outside Canada, one assumes), and they’re not aware of any specific producers who have a known history of copying their designs.
A second customer service representative actually responded separately to my contact via their website, instead of Facebook. She did her own forensics, and corroborated that Hedstrom’s opinion is that this is a knock-off ball:
Thank you for visiting our website and for your online inquiry about an ABC Playball. Unfortunately, I do not believe this ball was manufactured by Hedstrom. I’ve attached an image from our QA files of our ball for your reference. Some of the things that tip me off that this is not our ball are the elephant and kangaroo colors. Also, there is considerably more white space on you ball whereas ours has more designs. So, just for fun, I visited our samples department hoping to find this ball and I was able to find and inflate a sample of our ball. Our playball has a Yo-Yo for the letter “Y”. Another way you can tell is whether or not there is an official Hedstrom legal patch. This patch would contain our name, Hedstrom Corporation, our address, our website, made in China in three different languages, a UPC barcode with the number 0-33149-04155-9 and a four-digit date code. Our inflation valve should be concealed in the Robot “R” picture, too. I’m not sure if your ball has our legal patch or not or where your inflation valve is located, but these are just a few of the way we identify our products. It’s probably not impossible for another manufacturer to find and use our designs as these are rather old for us and are not licensed or trademarked.
Hope that helps solve the mystery for you. But we are of the opinion that this is a knock off and not an official Hedstrom produced playball.
One last follow-up, and she shared the history of the ball, to the extent she was able to dig up:
The records that I can still access tell me w e created this ball in 2004 and first sold it in 2005. The last one was sold in 2008. Our records don’t indicate ‘who’ might have been the designer at the time.
So that trail runs cold. The ball is a knock-off. Let’s examine it in more detail for clues.
Indeed, additional analysis reveals that your ball and the Hedstrom ball are very similar, but not identical. There are some differences which have to be taken into account.
In particular, @H Walters points out that the layout – that is, the positions of the symbols relative to one another – are different in your photograph than in the catalog thumbnail for the Hedstrom ball:
K and E are shared designs between the two images. The neighborhood around K and E are very different, however; in the OP image K and E are adjacent and at each others’ “9 o’clock” ( E being oriented differently); Q is at K‘s 6, and Y at K’s 7. In the catalog K and E aren’t even adjacent; we can see E‘s entire neighborhood (from 1 to 12: BMDGHL), and K‘s neighborhood that can be seen is JIDA. So at the very least, if they’re the same ball, K and E are repeated, which makes little sense.
And, as @m69 further points out:
It’s not just that the lay-out is different; look at which part of the letter E is covered by the elephant’s ear; that’s different too.
Note also that in the photo of the ball that Hedstrom sent me, V is used for vase, not volcano, R is for robot, not rainbow, and the drawing of the nail for N is a slightly different style than on your ball.
Finally, at @jkej’s prompting:
It would add to the “circumstantial” evidence if we could find out the full set of pictures/words used on the original Hedstrom ball. Particularly, it would be very interesting if we could confirm that:
All words that are not sensible in English (i.e. Yxa and U-boat) were absent from the original.
All words not sensible in Swedish were present on the original.
If (2) holds it is possible that all words added to the knock-off were taken from a Swedish source. Given the pictures of the original that we already have, we only need to confirm that Owl, Queen and W orm were on the original to prove (2).
I asked my contact at Hedstrom, and she replied:
The ‘U’ has a red and white UMBRELLA. The ‘O’ has a brown and yellow OWL. The ‘Q’ has a QUEEN with white hair and a yellow crown with red & blue jewels. And ‘W’ is an orange and red WORM.
Based on this, @jkej’s analysis is:
I’d like to underscore that I think the answer from Hedstrom was a BIG step forward. It may seem like a dead end, but i t conclusively tells us that A) the pictures on the ball came from two distinctly separate sources, B) the general impression of an English ball can be fully explained by one of the sources, C) the pictures from the second source are better explained in Swedish. These were things we could only speculate about before.
So a third-party made a knock-off version of the ball, not unusual in Asian manufacture, and introduced these differences, and perhaps picked up some Swedish contagion in the process.
To confirm that, we’ll have to pick up the scent of this mysterious DNE you found near the valve of your ball.
But to do that, we have to start at the other end of the trail. I’ve reached out to Lojas França via email and Facebook. The email bounced, but there’s still hope they’ll reply on Facebook.
Meanwhile, an informant, @Brad Koch, has it from some good sources in shady corners of the internet that the ball has been found. From @thedrake on HackerNews:
I found the BALL manufacturer!!!!https://www.alibaba.com/product-detail/Alphabets-print-ball_573748097.html
And what do we spy in the SW and SE corners of the right image (zoom in):
Y:
U:
Our suspects! Hiding in China, right where our intelligence said they’d be. And all the other images match as well.
Now to track down the manufacturer of these knock-off balls.
Nature of Business: Exporter‚ Manufacturer Industry: Toys & Games Product/Service Range: Toys and Games Major Market(s): * Eastern Europe * Western Europe
So while Hedstrom is not responsible for the axe on your ball, there is one last piece of evidence that Y= yxa.
We find the ball again on a Swedish user’s Pinterest page.
In fact, this one of only 3 sites I could find anywhere on the Internet with an image of your ball 7.
After all this, one thing is certain. Since the original designer of the ball, an American company whose employees are native speakers of English, used yo-yo to illustrate y, we know the intended word is not English.
Overall, adulteration of the ball with Swedish words seems indicated, though far from definitive.
But it’s the best theory I’ve got. Except of course for @Vincent Fourmond’s conclusion that we’re dealing here with a .
¹ I also tried “and related to”: hatchet, chop, and cut, even though the latter two words are verbs and all the other symbols on the child’s ball represent concrete nouns. Nothing material emerged.
² We could make a case for N also fitting for Swedish, as @konaya points out, by observing the depicted object could as easily be a tack, which is ubb in Swedish.
³ Note that the E and K which are on the northermost latitude in the photograph have different orientations, and the symbol always has the same orientation as its letter (i.e., the top of the symbol shows you where the top of the letter is) so there is no concern that the W for worm might be M for maggot or anything.
I say this because I wondered for a moment whether the illustrator mistook Y for an upside-down h in hatchet.
4 Which, taken as a holistic pattern, makes the theory very dubious.
5 Since this question was asked, the chúng tôi product page has been removed, with no redirect. Likely that’s due to the the popularity of this question causing many people to hit that page (which listed an out-of-stock item), causing needless load from their perspective. But through shrewd parameter hacking, @biolauri got Google to serve up a cached version. A screenshot is available here, for when the cache inevitably gets flushed and also disappears.
Note that the UPC / barcode is the same as in the catalog, 0-33149-04155-9, but the item number differs. The ~2012 catalog has 54-4155, but the 2013 price list has 54-41554. This may be a typo, or it may be additional substantiation that one UPC may be used for different versions of the product.
7 One potential risk here is that the chúng tôi page was dynamically generated just for me, based on cookies set during the course of my research into “Swedish” and a young child’s toy. Note the Swedish header translates to just a generic a “check out these fine products”, and all the products offered are to toys for young children, related to reading, and all the descriptions are in English. But I think the risk here is low: I found the site through a reverse image search on Google, which suggests it pre-existed my research.
Lesson: A Closer Look At The “Hello World!” Application (The Java™ Tutorials
Trail: Getting Started
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } } /** * The HelloWorldApp class implements an application that * simply prints "Hello World!" to standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } } /* text */ The compiler ignores everything from /* to */. /** documentation */ Javadoc™ tool documentation . The compiler ignores everything fromThe following bold text begins the class definition block for the "Hello World!" application:
/** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } }As shown above, the most basic form of a class definition is:
class name { . . . }The keyword class begins the class definition for a class named name, and the code for each class appears between the opening and closing curly braces marked in bold above. Chapter 2 provides an overview of classes in general, and Chapter 4 discusses classes in detail. For now it is enough to know that every application begins with a class definition.
The following bold text begins the definition of the main method:
/** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } }In the Java programming language, every application must contain a main method whose signature is:
public static void main(String[] args)The modifiers public and static can be written in either order (public static or static public), but the convention is to use public static as shown above. You can name the argument anything you want, but most programmers choose "args" or "argv".
The main method accepts a single argument: an array of elements of type String.
public static void main(String[] args)This array is the mechanism through which the runtime system passes information to your application. For example:
java MyApp arg1 arg2Each string in the array is called a command-line argument. Command-line arguments let users affect the operation of the application without recompiling it. For example, a sorting program might allow the user to specify that the data be sorted in descending order with this command-line argument:
-descendingThe "Hello World!" application ignores its command-line arguments, but you should be aware of the fact that such arguments do exist.
Finally, the line:
System.out.println("Hello World!");uses the System class from the core library to print the "Hello World!" message to standard output. Portions of this library (also known as the "Application Programming Interface", or "API") will be discussed throughout the remainder of the tutorial.
Bạn đang xem bài viết Lesson: A Closer Look At The “Hello World!” Application (The Java™ Tutorials trên website Trucbachconcert.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!