Question about Title

Hi All,
I am confused about "the title must be the first line in your book"
Does that mean you should just write "My Title Here" as the first line in the document, basically, and then go on from there with the actual book?
I think maybe I'm not understanding the rule correctly, because that seems unexpected because that seems like it would be very boring.
Any thoughts appreciated.
thanks.

Karbyn_Eilde wrote:
From the "eBook creator guide" by Lulu
(sorry, my bad, I should have posted this with the original question, I know)
============================
Title Page:
The very first thing you want your reader to see is your title – not blank spaces before your title. Therefore, your title must be on the very first line of the manuscript and be formatted as Heading 1 style. This allows the Lulu EPUB converter to correctly identify and display your book’s title in the eBook TOC. If you aren’t a big fan of the way the Heading 1 style looks, you can modify the style or create a new one.
If your title is not on the first line (i.e. hard returns precede it), the name you entered in the manuscript’s properties file will display in the TOC. If the properties filename is blank, the converter will display the title as “untitled” in the TOC. Both of these situations will result in your eBook being rejected for distribution.
=============================
So, from what the posters have said, this sounds like the traditional "title page" would cover this requirement - just have a separate page for "title page" and that will put the Title as the "very first line of the manuscript & formatted as Heading 1 style".
Then, just to be safe, I guess also make sure the Title is the first line in your marketing cover image, too.
And that makes sense to me, because I would reasonably want the Title to be first and big on the cover, of course.
Thanks, all, much appreciated!
EPubs do not as such, have pages, so there's no need for New Sections and other Page Break types. But a TOC is insisted on even if it only includes a Title and a Copyright as two TOC entries. So in effect the title is the first line, and that is tagged with Heading Style 1 to place it as the first item in the TOC (even though the TOC will be the 3rd 'page', usually) Next will be Copyright tagged with Heading Style 1, but the actual Copyright blurb in Bodytext. And so on if you wish to tag chapter headings with Heading Style 1 also.
But in practice, the title are the first words, even if you type it much much later.  
The cover, or as Lulu calls it, the Marketing Image, has nothing to do with your manuscript file. It's not part of the manuscript file or that part of the Project Wizard because there's also a Cover Wizard within it and you deal with the cover there (even though it's not a cover a such) as you would any book cover. You will not see it in the Epub file Preview until later. I think Lulu's boffins add to the ePub file as the first 'page', you do not need to.

Similar Messages

  • Some question About title importer plugin

    We are developing a title importer plugin for CS6, and have some question, hope forums could help me. Thank you very much.
    1) Is there API to get title clip's in, out point in timeline ?
        in imImageRec data structures, these is a in/out point, but it is trim in/out point, is not timeline in/out, how to get these point ?
    2) Because we are also developing a subtitle importer for CS6, when user want to record the subtitle timecode, we hope we could control timeline play/stop, and get the playing/stopped callback, in same time, we could get the current playing position. But, it seems that these is no way to do this. I want to known, is there any plan to support these features in future ? Or, is there some work around methods to get these ?

    I really appreciate your reply, I will look for VideoSegmentSuite to get the in/out point.
    Q: Why we need timeline in/out of title clip ?
    A: Our titler could do animation, when user strench title clip in timeline, clip's length will be changed, we hope we could scale animiation to fit the new length. ( I means animation will be slower or faster with new length), in imImporterImageRec, there is a in/out point and postion, but, we found they are not correct in sometimes, and SDK help PDF tell me there is a API bug in it, is it fixed or not ?
    In another, in ImportImage API, we use (Rec->pos + Rec->in) / Rec->sampleSize to get real frame number for out title clip rendering when our title is imNoDurationNoDefault, we test it, it seems that it is right. But if our title is imNoDurationStillDefault, then Rec->pos and Rec->in and Rec->out are all based 90000+, and Rec->out was not right in some times (when we strench clip's outpoint in timeline), it is a bug or we missed something ? In this situation, we have to use (Rec->pos - Rec->in) / Rec->sampleSize to get the rendering frame number, it seems that it is right too. But, we could not use Rec->out, because it was wrong in sometimes.
    New questions:
    1) When we dragdrop our title files to timeline directly from windows explorer, Premiere will call imGetInfo8 (in here, we will allocate a private data for this clip), imOpenFile8, and there is no chance to call imGetPrefs8, so, when we close Premiere, imCloseFile will not be called for this clip, memory leaks for our private data. If we drag the title files to Premiere Bin firstly, then Premiere will call imGetPrefs8, imGetInfo8, imOpenFile8, there is no problem, imCloseFile will be called when we release this title clip. 
    So, my conclusion is: Premiere must call imGetPrefs8, else imCloseFile will not be called, I think it was a bug, isnot it?
    2) We have a title template library (they are all based template title file), and, we use OLE dragdrop (COleDataSource->DoDragDrop), when we drag-drop these files to Premiere Bin/Timeline/SourceMonitor/TargetMonitor, there is a lots of memory leaks in oledobj2.cpp (microsoft source code files for COleDataSource), we are sure our code is correct, because if we dragdrop to our windows or other NLE (for example, EDIUS), there is not any problem. So, I guess, because we use MFC, and Premiere did not support it fully? Do you have see this problem before ?  Do you have another suggestion to do these drag-drops ?
    3) About to get sequence start timecode, we see a thread in forum which said there is new sdk headers, use them, we could get it through PrSDKSequenceInfoSuite. But its downloading link is broken, so, how to get new SDK headers? could you give me a new link to download ?
    BTW, we are useing CS6 SDK Release2 + CS6, and will upgrade to 6.03 to test.
    Thank you very much. and Sorry for these lots of questions, I am new guy in Premiere plug-ins developing.

  • Question About Title Effect

    Using only the titler in Premiere Pro CS5 (no After Effects), would it be possible to have titles fade in, from left to right, a line at a time, and then fade out from left to right a line at a time?
    If so, how would this be accomplished?
    TIA!

    Create a separate title for each line of text.  Use the Linear Wipe effect to bring each line on, and each line off.  Add some feather so soften the edge.

  • Question about title appearance

    I'm not interested in animation. I just want to have plain white credits over a black background. In FCP, the text for the credits always looks pixelated, with bleeding, and very "video-ish."
    I want my black and white credits to look like they do for a movie shot on film, which have a flat appearance. Can livetype create this illusion, or do they look the same as the text in FCP?
    thanks

    Livetype is better for titling and gives you more control.
    A couple of things for consideration.
    1) the font that you use - don't use 'thin' or overly 'fussy' fonts.
    2) Reduce the opacity of the white - In FCP, don't use pure white, but slightly grey. Far better to do this in LT, where, in the 'attributes' tab of the 'inspector' tab, reduce the opacity to between 80% and 90%.
    Oh and don't forget to render the effect and monitor through an external monitor (or a portable TV at the very least)

  • May seem like a totally dumb question about Titles

    I just want to create a small, subtitle style text bit that stays at the bottom of the screen for the full duration of the film. I can't seem to do this at all. Is there a way to have text stay there for the full movie?
    Thanks for any help.

    Not sure if this is possible thru iMovie alone or not. FCP can address permanent titles though.
    Lastly, you may also want to look at "Slick" Transitions & Titles to see what they have to offer.

  • Question about Setting Window Title/the use of AVWindowSetTitle()

    Hi everyone,
    I have a question about setting the title of the window in which the Acrobat viewer normally opens a PDF file.  The documentation states that AVWindowSetTitle() cannot be used in this case.  However, using it has worked with versions of Acrobat/Reader up until and including version 8.
    Everything breaks down starting with Acrobat 9.
    According to the documentation I am supposed to do the following: "To set the title of a window in which the Acrobat viewer opens a PDF file, you must replace AVDocOpenFromASFileWithParams() and pass the window title in tempTitle."
    Unfortunately, there are 2 problems I have with this approach:
         I do need to be able to change the document title on document Save, not only on document Open
         I do not know what AVDocOpenFromASFileWithParams() implementation has to look like if I have to replace it using HFTReplaceEntry().
    Is there a sample customized implementation of AVDocOpenFromASFileWithParams() somewhere that I could take a look at?
    Is there a way to change a document Title inside Acrobat/Reader window after a Save operation?
    Thanks a million,
      Lana2010K

         I am sorry.  I don't know how you tested this and came to conclusion that this works correctly in Acrobat X.
         I just tested our Acrobat plug-in with a trial version of Acrobat X and this did not work.
         When we open a file in Acrobat (doing it ourselves in the plug-in by adding another specialized open) we set the window title to something different from the default file name.  Then if a file gets edited and saved (File->Save), the window title gets reset to the file name. In the PDDocDidSave callback we call AVWindowSetTitle() to set it back to a more descriptive window title we need.  This has worked up until and including Acrobat 8, but does not work in either version 9.0 or 10.0.
         Also, I just modified the plug-in code to always change the Window Title of every document (even if opened through native File->Open) on document Save.  It does not work.
         Please help,
              Lana2010K

  • Some questions about a Time Capsule

    Hi!!
    I just have a few questions about a Time Capsule, but first let me explain the backgroud to my questions.
    I live in a 2 floor house(including a basement) and my bedroom is downstairs. My parents currently have a desktop PC connected to our wireless router and our printer. Me and my step-father both have 13 inch MacBook Pros, and he uses the Mac like a basic computer, so the equipment connected to our PC is good for him. I, on the other hand, use my Mac, iPad and iPhone to their fullest potential. I am a SUPER MEGA NERD when it comes to computers, so I plan on making my bedroom an amazing office at the same time. So I want an AirPrint Enabled printer in my bedroom (Under 100$$) along with a Time Capsule to back up my information, because everyday I look around in the backdoor of my Mac alot, and if I jack anything up (And I cant handle the problem) I would like to restore my Mac to a previous version. So here are my questions:
    1) My bedroom is right underneath our router, so i get GREAT Wi-Fi in my room. If I get a Time Capsule, can I use it in my room to extend my Wi-Fi, and how would that work? Will it extend my wifi under the same name, because I would like my own Wi-Fi (Titled to what I want with my own password)
    2) If I have to create a NEW Wi-Fi network, how would I do that?
    3) Would I need to connect my new printer directly to my ROUTER, or could I connect it to the TIME CAPSULE?
    If you don't understand what I'm trying to ask (Even though I feel like it's self-explanatory)
    ONE question about the PRINTER: Do any of you have any recommendations for an AirPrint Enabled printer under 100$? Even under-150$ would be okay.
    THANKS FOR ANY HELP!!!!

    everyday I look around in the backdoor of my Mac alot, and if I jack anything up (And I cant handle the problem) I would like to restore my Mac to a previous version. So here are my questions:
    Don't just depend on TM.. use a disk image type utility.. either one of the Mac tools, SuperDuper, CCC, Chronosync or even a linux boot cd (if you have a cd/dvd drive still or via usb can boot) a great tool is Clonezilla.. it will do basically any computer, Mac, Linux, Windows.. and since it boots into its own OS can restore a computer in a flash. Then you can add the incremental changes from TM.
    1) My bedroom is right underneath our router, so i get GREAT Wi-Fi in my room. If I get a Time Capsule, can I use it in my room to extend my Wi-Fi, and how would that work? Will it extend my wifi under the same name, because I would like my own Wi-Fi (Titled to what I want with my own password)
    Actually I am surprised you get good wireless as usually directly above or below a router is often the worst spot. Time Capsule cannot extend the wireless of any other router than Apple.. it is a special system and only Apple can join the club. It has bad effect though, if you set the TC to extend wireless it turns off ethernet ports.. which is hugely dumb.
    The best arrangement is ethernet to the upstairs.. or EOP adapters. If not then a wireless router that matches the existing unit will generally be better than mixing apple and non-apple.
    2) If I have to create a NEW Wi-Fi network, how would I do that?
    3) Would I need to connect my new printer directly to my ROUTER, or could I connect it to the TIME CAPSULE?
    You create a new wireless network by selecting manually the wireless channel and use different wireless name, ssid and security. There are 3 available channels on 2.4ghz.. your existing router will use one or two.. depending on if the setting is 20mhz or 40mhz.. so you need to manually set everything and not use auto.
    TC is slow on 2.4ghz cf 5ghz and there are many more channels at 5ghz but not everything can use it.. iphone for instance is 2.4ghz only . whereas ipad can use 5ghz.. most full computers now can use 5ghz.
    Buy a wireless network printer. Or alternatively an ethernet network would be also ok but now are more expensive than wireless ones. Network printers are not much more than straight USB and work much better.
    I do not use airprint so have nothing to offer.. find the best HP model in your budget.. but others may have had more experience.. I use ethernet connected b/w laser business type HP.. they work great.. but airprint is too recent an innovation for me.

  • Question about Id3-tags and song managem

    Hello, I am getting ready to buy a Zen Touch 20GB in a couple of weeks and I have a few questions about the management software.
    (Correct me if I am wrong about something)
    ) Are songs organized into groups by Genre instead of just folders like on the Ipod?
    2) Are Id3-tags used instead of filename for identification?
    3) What parts of the tag are needed besides title and artist?
    4) Which version of tags does the Zen Touch recognize: Version or Version 2?
    5) If I edit my tags using an external program such as Id3-TagIT, will the tags carry over to the Creative software and to the player?
    Thanks a lot for your help. I want to make sure I have my music collection in order before I get my Zen Touch.

    euph_jay wrote:Ok, so lets say I have all my music in folders right now seperated into different categories on my hard dri've. Some folders denote the artist, some the album, and some a genre. Example: Folder: Chicago Contents: Chicago .mp3 files Folder: Techno Contents: various Techno artist's songs What is the best way of organizing my folder system, so that the transition will be easy to the player?
    Folders are pretty much irrelevant. What the software will do is look at the *tags* in the files and then use these to build the player's library.
    Will imbedded folders work on the player? (like Techno->Crystal Method->Cystal Method .mp3's)
    Again the player has no concept of folders, although if you set Techno as a Genre tag you will be able to view via this in the Music Library.
    Or, am I misunderstanding how music is stored into the mp3 player. Instead of storing music in a "folder like" system (like the Chicago folder or Techno folder), does it store all the songs individually on the device? Then you have to sort it by artist, album, or genre?
    Using your example, in the Music Library you have essentially three categories: Album, Artist, and Genre. So under Album you would see "Vegas" (the Crystal Method's album), under Artist you would see "The Crystal Method", and under Genre you would see "Techno" (and then either the album or artist under this... I forget which it is offhand).
    Make sense?

  • Questions about exporting PSDS(so as PNG, TIFF with transparency) by AI CS4 and newer

    Hello, I've got this question as titled...I stll can't figure it out why.
    I'm now using WIN version of AI CS6, and I've used CS4, CS5 before.
    Why does AI CS4(and the newers) export transparent PSD files which are always with blank transparent thin border(about 2~3px) line in the right and down side ?
    This situation hasn't happened in CS3 and CS2.
    The PSD files I intended to export are about A4 size with 300 dpi, sometimes with 150dpi, in RGB/CMYK/Grayscale color modes.
    If  someone as well-experienced as all you seniors can tell me the reason or even solutions i'll be very thankful to your reply.

    Thank your reply first
    I totally agree with your opinion, it's really an annoying bug.
    I've tried your solutions before but it's still time-comsuming to correct the with/length.
    Sometimes I think the new version AI kind of rediculous because it can't export as accurate as the CS2/CS3's exporting, which should have functioned well.
    On the other hand, I can also save my AI file with PDF capability and drag it into PS to rasterize, then I can get accurate PSD files.
    But save AI with PDF cab. takes much time, even more when there are complex objects (or) with multiple appearance features and occasionally fails to save and get a broken AI file.

  • Question about sorting files in media library

    Hey,
    I'm Sam Hoste from Belgium and I have a question about sorting music files in my media library in iTunes.
    My music collection mainly exists of complete albums instead of individual songs. The problem is that I can not play the songs of an album in the same order as on the tracklist of the album in the media library of iTunes.
    I also take very good care of the ID3 tags from my mp3-files, but that doesn't help.
    For example, if I had an album with the following tracklist,
    01. Artist - Song 1
    02. Artist - Song 2
    03. Artist - Song 3
    04. Artist ft Otherartist - Song 4
    05. Artist ft Otherartist - Song 5
    06. Artist - Song 6
    07. Artist - Song 7,
    every music file would have an ID3 tag for tracknumber (1, 2, 3, ...), an ID3 tag for artist ("Artist" or "Artist ft Otherartist"), an ID3 tag for title (Song 1, ...) and an ID3 tag for album ("Albumname").
    When I load this album in my media library in iTunes, I cannot get them sorted by album and by tracknumber on that album. When I sort by artist I get this list:
    01. Artist - Song 1
    02. Artist - Song 2
    03. Artist - Song 3
    06. Artist - Song 6
    07. Artist - Song 7
    04. Artist ft Otherartist - Song 4
    05. Artist ft Otherartist - Song 5.
    But that's normal, but even if I sort by album I get the same list:
    01. Artist - Song 1
    02. Artist - Song 2
    03. Artist - Song 3
    06. Artist - Song 6
    07. Artist - Song 7
    04. Artist ft Otherartist - Song 4
    05. Artist ft Otherartist - Song 5.
    So the songs aren't in the same order as they are supposed to be on the CD. And I would really like my albums to play in the same order than on the tracklist on the CD.
    I think the problem is caused by the fact that when you sort by "album" in iTunes media library, iTunes first sorts by albumname, and second by artistname, and third by tracknumber. In stead of sorting first by albumname, and then second by tracknumber in stead of the artist.
    My question: Is there a way to make sure iTunes sorts by albumname, and then by tracknumber in stead of artist, so I can play my albums in the same order as on the CD? Or is there an other solution for this issue?
    Thanks and kind regards,
    Sam Hoste

    See my previous post on Grouping Tracks Into Albums, in particular the topics Use an album friendly view and
    Tracks out of sequence.
    tt2

  • Question about JTable...

    Hi people,
    I have a question about class JTable of Java and how can i add dynamic content to it. More specific i would like
    to create a table which has a dynamic content at its rows and columns (etc i will use a method which will generate
    dates of 1/02/05 to 1/03/05 format and i will add them as titles in the row section of my table and in the column
    section i will add times of the day divided in quarters like 00.00 00.15 00.30 00.45..... just like a calendar) Any ideas????

    Use the DefaultTableModel. It has addRow and addColumn methods.

  • I have a question about iMovie?

    I have a quick question about Imovie and I hope someone can please please please give me an answer, I want to hear lol. Is there any way i can get more transitions or titles on Imovie? or would I need to invest in photoshop or something that would give me more of a variety, because I use power point sometimes to jazz up my videos; but I can't convert powerpoint transitions into Imovie. so thats why i am curious. I look on youtube and some of these people transitions and stuff is a little more advanced than what imovie have so i am sure theres something out there. I just dont know what.
    Please help. Thank You in advance.

    You can add transitions using iMovie > iMovie '11: Add transitions between video clips

  • Some questions about building  a plug in

    Hello,
    1.I'm trying to build a plug in ( for EM12c release 2 ) for my standalone java application - which exposes mbeans whom i want to collect some metrics with.
    It's been a while since i started to build it - and I asked quite a lot of quesions about it - because the documnets supplied with the EDK and
    the books ( ProgrammersGuide, ProgrammersReferece and the README file ) are not very clear to me ( I'm a newbie with EM in general .. )
    So far some of the questions got answered and were very halpfull with this long process. BUT, there are some questions that nobody answered yet.
    I'm quite "stuck" with it. I'm talking about the questions in : Re: A question about updating metadata files in plug in
    I have a deadline for this plug in ( which is very close ..) so this the reason I post this new message.
    I will appriciate any help about those questions .
    2. Regarding the above, ( hoping to have an answered soon ..) I'm trying another way to buils this plug in:
    In the README file there is this section( 3.6 : using MPCUI ) . I read the programmersReference ( chapter 8 ) and followed the instructions both in the README file and the ProgrammersReference .
    For a begining, I just wanted to modify a small thing in the example supplied ( Demo Host System ) just to get started with something .
    So i modify the file which contains the label ' Select member ... ' ( i don't remember the name of the file since the project is in my office , and I can't copy/paste ..- I think the the file icontians the name ' ConfirmationTarget .xml - it's one of the pages seen while adding a target ) .
    I i changed it , i build the project ( using FlexBuilder) but did not use ANT as it's says in the README - the eclipse IDE build this file automatically
    ( HostSystem.swf  in bin-debug dir as it says in the README ) . I copied this file to stage_dir/oms/metadata/mpcui .
    i build a new plug in ( i incremented the version of it ) - no errors, everty thing was fine .I also copied this file to the oms server ( it wasn't there before )
    and than run the commad ' emctl register oms ...' as it says in section 3.6 - and o got 'Success' eventually .
    Now, when i opened the EM console , hoping to see tge change i made ( again , it's just a change of the title of the step while adding the target , and adding another menuitem to the 3 item that were alreay there ( CPU, FS, etc ) .
    I believe wad i did is right- i mean changing in the right file and place ( there is no title like like this in any oter source file in the whole project )
    but still, I didn't see any change! it seems execatly as it was befoer the change ..
    Any idea?
    Thanks.

    Regarding your question #2. Please read my response here carefully as it covers a number of different issues.
    1. Ant is not required to build the SWF file in your plug-in. It is an OPTION. Section 8.27 describes the different development options using either Ant or FlexBuilder.
    2. You do NOT need to ever copy a SWF file to any location under the OMS runtime. You need to include it in the stage area and then either build an OPAR or use emctl to incrementally update the deployed plug-in. It has to either be deployed as part of the plug-in deployment or updated incrementally using emctl register oms metadata. Section 8.27.2.6 describes the specific steps to do this incremental update.
    Steps to update the SWF associated with demo_hostsample. These are covered in the README and in chapter 8.
    1. deploy the demo_hostsample plug-in as described in the README
    2. create an instance of the Host Sample target type through manually discovery (Add Targets->Add Non-Host Target Specifying Properties)
    3. using the demo_hostsample.zip project in Flex Builder, modify some part of the code, for example, modify the line containing label="Current Status" to label="My New Label"
    4. rebuild the SWF, to be sure you can to a Clean build of the demo_hostsample project
    5. ensure there is an updated copy of the HostSample.swf under demo_hostsample\mpcui\bin-debug (NOT bin-release, unless you Exported A Release Build)
    6. copy that updated HostSample.swf file to the location on the OMS machine where you unzipped and built the OPAR for the demo_hostsample plug-in
    7. cd to the stage/oms/metadata/mpcui directory and replace the current HostSample.swf with the one you just built (BE SURE ITS THE UPDATED FILE)
    8. execute the command "emctl register oms metadata -sysman_pwd sysman -pluginId oracle.sysman.ohs -service mpcui -file demo_hostsample_uimd_swf.xml (BE SURE TO USE THE CORRECT sysman_pwd)
    At this point you should be able to go to the homepage for the Host Sample target you created and see the changes.

  • Questions about a MasterQuize program

    Hi, everyone.
    I got a in-class case study program like this in the class:
    * This class stores/represents a question that has one of two
    * answers: True or False.
    * <p></p>
    * It needs to track the following information:
    * <ul>
    * <li>Question text</li>
    * <li>Correct answer</li>
    * <li>The user's answer to the question</li>
    * <li>Points value</li>
    * <li>Category</li>
    * <li>Difficulty rating</li>
    * </ul>
    // Our question should allow us to do the following:
    // - Create question (constructor) -- may be overloaded
    // - Print (display) question
    // - Check client's answer for correctness
    // - Get points value for question (0 or max)
    //   - Add "No-BS" grading option
    // - Getting client's answer
    // - Check to see if answered by client
    public class TrueFalseQuestion
        // Class constants (to simplify changes to common values)
        public static final int MIN_DIFFICULTY_LEVEL = 1;
        public static final int MAX_DIFFICULTY_LEVEL = 5;
        public static final int DEFAULT_DIFFICULTY_LEVEL = 1;
        public static final int DEFAULT_POINT_VALUE = 1;
        public static final String DEFAULT_CATEGORY_VALUE = "none";
        // Class instance variables
        private String questionText;
        private String correctAnswer;
        private String userAnswer;
        private int pointsValue;
        private String category;
        private int difficultyLevel; // TODO: Set a range for difficulty levels
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * @param ctgry Category keyword for this question
         * @param level The perceived/intended difficulty level of this question
         * <p></p>
         * Defines a TrueFalseQuestion object.
        public TrueFalseQuestion (String text, String answer, int pts, String ctgry, int level)
            // Set starting values for all instance variables
            questionText = text.trim();
            correctAnswer = answer.trim();
            userAnswer = null; // No user answer supplied yet
            if (pts >= 1) // We assume that every problem is worth at least 1 point
                pointsValue = pts;
            else
                pointsValue = DEFAULT_POINT_VALUE;
            category = ctgry.trim();
            if (level >= MIN_DIFFICULTY_LEVEL && level <= MAX_DIFFICULTY_LEVEL) // within range
                difficultyLevel = level;
            else
                difficultyLevel = DEFAULT_DIFFICULTY_LEVEL;
        // Simplified (overloaded) constructors
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * <p></p>
         * Defines a TrueFalseQuestion with default values for category and difficulty level.
        public TrueFalseQuestion (String text, String answer, int pts)
            // Call pre-existing constructor with default category and difficulty
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default point value, default category,
         * and default difficulty level.
        public TrueFalseQuestion (String text, String answer)
            // Call pre-existing constructor with default points, category and difficulty
            this(text, answer, DEFAULT_POINT_VALUE, DEFAULT_CATEGORY_VALUE,
                 DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * @param ctgry Category keyword for this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default difficulty level.
        public TrueFalseQuestion (String text, String answer, int pts, String ctgry)
            // Call pre-existing constructor with default points, category and difficulty
            this(text, answer, pts, ctgry,
                 DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param ctgry Category keyword for this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default point value and the default
         * difficulty level.
        public TrueFalseQuestion (String text, String answer, String ctgry)
            // Use default points and difficulty
            this(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * @param level The perceived/intended difficulty level of this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default value for the question category.
        public TrueFalseQuestion (String text, String answer, int pts, int level)
            // Use default category
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Clients can invoke this method to retrieve the text of the current question.
        // We chose to return the text instead of printing it; this allows the client
        // to decide how it should be presented (via a GUI, over a network, etc.)
        public String getQuestion ()
            return questionText;
        // This method allows the client to store the user's answer inside the
        // TrueFalseQuestion object for easy comparison
        public void submitAnswer (String ans)
            userAnswer = ans;
        // This method reports whether the submitted answer matches the correct answer
        public boolean answerIsCorrect(String userAns) // This version does all the work
            if (userAns == null) // No response from user (yet)
                return false;
            else
                // Normalize and compare answers
                char key = normalize(correctAnswer); // Get 't' or 'f'
                char ans = normalize(userAns); // Get 't' or 'f'
                return (key == ans);
        public boolean answerIsCorrect ()
            return answerIsCorrect(userAnswer); // Call previously-defined version
        public int getPointsValue()
            return pointsValue;
        // Return the points awarded for the user's answer. This method does
        // NOT support partial credit; answers are either correct or incorrect.
        // If the "No-BS" option is selected, blank (unanswered) questions receive
        // 1 point automatically; otherwise, the score will be either 0 or the
        // question's normal points value.
        public int getPointsEarned(boolean useNoBSRule)
    System.out.println("useNoBS: " + useNoBSRule + "\tuserAnswer: " + userAnswer + "\tcorrectAnswer: " + correctAnswer);
            if (useNoBSRule && (userAnswer == null))
                return 1;
            else if (userAnswer == null)
                return 0; // Without "No-BS", treat blank problems as incorrect
            if (answerIsCorrect() == false)
                return 0;
            else
                return pointsValue;
        // This method returns true if the user has submitted an answer
        // for this question (regardless of whether that answer is correct)
        public boolean hasBeenAnswered ()
            return (userAnswer != null);
        // Private helper method to convert all answers to single lowercase
        // letters (in this case, 't' for TRUE and 'f' for FALSE)
        private char normalize (String input)
             if (input != null)
                  input = input.trim(); // Remove leading whitespace
                  input = input.toLowerCase();
                  return input.charAt(0);
             else
                  return ' ';
    import java.util.*;
    * This class represents a complete test or quiz.
    * Data stored:
    * - List of questions
    * - Total score earned
    * - Total score possible
    * - Name/title of test
    * - Instructions
    *  - Category/class assignment
    *  - Student (test-taker) name
    *  - Date test is/was taken
    *  - Time started
    *  - Time completed
    *  - Maximum time allotted
    *  - (List of) Maximum attempts per question
    *  - List of attempts per question
    *  - List of difficulty ratings per question
    *  - Assignment weight
    * Methods:
    * - Constructor
    * - Add question
    * - Display question
    * - Display test
    * - Display instructions
    *      - Generate random exam
    * - Take/administer test
    * - Get score
    * STUFF TO DO:
    * - Add time/date restrictions
    * - Add network access restrictions
    * - Add other restrictions/allowances?
    * @author (your name)
    * @version (a version number or a date)
    public class Test
        // Class constant
        public static final int MAX_NUMBER_OF_QUESTIONS = 10;
        // Class instance variables
        private String testName;
        private int scoreEarned; // What the student earned on the exam
        private int scorePossible; // Total point values of all questions
        private String instructions; // Exam header text
        private ArrayList<TrueFalseQuestion> questions; // Create inside constructor
        // Methods
        public Test (String name, String instr)
            testName = name;
            scoreEarned = 0;
            scorePossible = 0;
            instructions = instr;
            questions = new ArrayList<TrueFalseQuestion>(); //[MAX_NUMBER_OF_QUESTIONS];
        public String getInstructions()
            return instructions;
        public int getScore()
            return scoreEarned;
        public void addQuestion (TrueFalseQuestion q)
            scorePossible += q.getPointsValue();
            questions.add(q); // Automatically append question to end of test
        public String displayQuestion (int position)
            if (position < questions.size())
                return (position+1) + ". " + questions.get(position).getQuestion();
            else
                return null;
        public String displayTest ()
            String result = "";
            for (int i = 0; i < questions.size(); i++)
                result += (i+1) + ". (";
                TrueFalseQuestion t = questions.get(i);
                result += t.getPointsValue();
                result += " points)\n\n" + displayQuestion(i);
                result += "\n\n";
            return result;
        // Get test length (number of questions)
        public int length ()
             return questions.size();
        // Submit answer to a specific question
        public boolean answer(int number, String a)
             // Question numbers run from 0-(max-1) -- THIS WAS AN OFF-BY-ONE ERROR AT FIRST
             if (number >= 0 && number < questions.size())
                  TrueFalseQuestion t = questions.get(number);
                  t.submitAnswer(a);
                  return true; // Question was answered
             else
                  return false; // Unable to answer (nonexistent) question
        // Score exam
        public void scoreExam (boolean useNoBS)
             scoreEarned = 0;
             for (int i = 0; i < questions.size(); i++) // For each question in exam
                  TrueFalseQuestion t = questions.get(i); // get current question
                  scoreEarned += t.getPointsEarned(useNoBS);
    }// Test harness for the Test and *Question classes
    import java.util.*;
    public class QuizDriver
         public static void main(String[] args)
              // Create a new Test object
              Test exam = new Test("Sample Exam", "Select the correct answer for each question");
              setUp(exam);
              Scanner sc = new Scanner(System.in);
              System.out.println(exam.getInstructions());
              // Administer exam
              for (int i = 0; i < exam.length(); i++)
                   // Print out current question
                   System.out.println(exam.displayQuestion(i));
                   // Get user answer
                   System.out.print("Your answer: ");
                   String ans = sc.nextLine();
                   if (ans.equals("")) // Handle blank responses for unanswered questions
                        ans = null;
                   exam.answer(i, ans);
              // Get exam results
              exam.scoreExam(true);
              System.out.println("Your final score was " + exam.getScore() + " points.");
         private static void setUp (Test t)
              TrueFalseQuestion x = new TrueFalseQuestion("The sky is blue.", "true", 2);
              t.addQuestion(x);
              x = new TrueFalseQuestion("The first FORTRAN compiler debuted in 1957", "true", 5);
              t.addQuestion(x);
              x = new TrueFalseQuestion("Spock was a Vulcan", "false", 3);
              t.addQuestion(x);
    }This program is far from finishing.
    I have many questions about this program, but let me ask this one first:
    In the TrueFalseQeustion class, why are there so many constructors? What is the purpose of setting some of the variables to default values?
    Thank you very much!!!
    Edited by: Terry001 on Apr 16, 2008 10:02 AM

    newark wrote:
    Stop ignoring the error messages. You seem to think that an error message means you're doing the assignment wrong. It's probably a simple fix. Post the exact error messages, as well as the code that corresponds to them. The error message will tell you exactly what line the problem occurs on, so you know right where to look.Hi,
    After some modifications, the program now gives me the result the assignment wants when I run it. But I still have trouble with the MultipleChoiceQuestion class
    Here is the complete program
    QuizDriver class
    // Test harness for the Test and *Question classes
    import java.util.*;
    public class QuizDriver
         public static void main(String[] args)
              // Create a new Test object
              Test exam = new Test("Sample Exam", "Select the correct answer for each question");
              setUp(exam);
              Scanner sc = new Scanner(System.in);
              System.out.println(exam.getInstructions());
              // Administer exam
              for (int i = 0; i < exam.length(); i++)
                   // Print out current question
                   System.out.println(exam.displayQuestion(i));
                   // Get user answer
                   System.out.print("Your answer: ");
                   String ans = sc.nextLine();
                   if (ans.equals("")) // Handle blank responses for unanswered questions
                        ans = null;
                   exam.answer(i, ans);
              // Get exam results
              exam.scoreExam(true);
              System.out.println("Your final score was " + exam.getScore() + " points.");
         private static void setUp (Test t)
                                   Question x;
              x = new TrueFalseQuestion("The sky is blue.", "true", 2);
              t.addQuestion(x);
              x = new TrueFalseQuestion("The first FORTRAN compiler debuted in 1957", "true", 5);
              t.addQuestion(x);
              x = new TrueFalseQuestion("Spock was a Vulcan", "false", 3);
              t.addQuestion(x);
              x = new MultipleChoiceQuestion("What is the color of the car\na.Red\nb.Green", "a. Red", 3);
              t.addQuestion(x);
              x = new MultipleChoiceQuestion("What is the name of this class\na.CSE110\nb.CSE114", "b, CSE114", 3);
              t.addQuestion(x);
    }Test
    public class Test
        // Class constant
        public static final int MAX_NUMBER_OF_QUESTIONS = 10;
        // Class instance variables
        private String testName;
        private int scoreEarned; // What the student earned on the exam
        private int scorePossible; // Total point values of all questions
        private String instructions; // Exam header text
        private ArrayList<Question> questions; // Create inside constructor
        // Methods
        public Test (String name, String instr)
            testName = name;
            scoreEarned = 0;
            scorePossible = 0;
            instructions = instr;
            questions = new ArrayList<Question>(); //[MAX_NUMBER_OF_QUESTIONS];
        public String getInstructions()
            return instructions;
        public int getScore()
            return scoreEarned;
        public void addQuestion (Question q)
            scorePossible += q.getPointsValue();
            questions.add(q); // Automatically append question to end of test
        public String displayQuestion (int position)
            if (position < questions.size())
                return (position+1) + ". " + questions.get(position).getQuestion();
            else
                return null;
        public String displayTest ()
            String result = "";
            for (int i = 0; i < questions.size(); i++)
                result += (i+1) + ". (";
                Question t = questions.get(i);
                result += t.getPointsValue();
                result += " points)\n\n" + displayQuestion(i);
                result += "\n\n";
            return result;
        // Get test length (number of questions)
        public int length ()
             return questions.size();
        // Submit answer to a specific question
        public boolean answer(int number, String a)
             // Question numbers run from 0-(max-1) -- THIS WAS AN OFF-BY-ONE ERROR AT FIRST
             if (number >= 0 && number < questions.size())
                  Question t = questions.get(number);
                  t.submitAnswer(a);
                  return true; // Question was answered
             else
                  return false; // Unable to answer (nonexistent) question
        // Score exam
        public void scoreExam (boolean useNoBS)
             scoreEarned = 0;
             for (int i = 0; i < questions.size(); i++) // For each question in exam
                  Question t = questions.get(i); // get current question
                  scoreEarned += t.getPointsEarned(useNoBS);
    }Question
    public class Question
    // Class constants
      public static final int MIN_DIFFICULTY_LEVEL = 1;
      public static final int MAX_DIFFICULTY_LEVEL = 5;
      public static final int DEFAULT_DIFFICULTY_LEVEL = 1;
      public static final int DEFAULT_POINT_VALUE = 1;
      public static final String DEFAULT_CATEGORY_VALUE = "none";
      // Class instance variables
      protected String questionText;
      protected String correctAnswer;
      protected String userAnswer;
      protected int pointsValue;
      protected String category;
      protected int difficultyLevel; //TODO: set a range for difficulty levels
      // Constructors
      public Question (String text, String answer, int pts, String ctgry, int level)
          questionText = text.trim();
          correctAnswer = answer.trim();
          userAnswer = null;
          if (pts >= 1)
              pointsValue = pts;
            else
                pointsValue = DEFAULT_POINT_VALUE;
            category = ctgry.trim();
            if (level >= MIN_DIFFICULTY_LEVEL && level <= MAX_DIFFICULTY_LEVEL)
                difficultyLevel = level;
            else
                difficultyLevel = DEFAULT_DIFFICULTY_LEVEL;
        // Overloaded (simplied) constructors
        public Question (String text, String answer, int pts)
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
        public Question (String text, String answer, int pts, String ctgry)
            this(text, answer, pts, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public Question (String text, String answer, String ctgry)
            this(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public Question (String text, String answer, int pts, int level)
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Methods
        public String getQuestion ()
            return questionText;
        // Use this method to store user answers
        public void submitAnswer (String ans)
            userAnswer = ans;
        public boolean answerIsCorrect (String userAns)
            if (userAns == null)
                return false;
            else
                // Normalize and compare answers
                char key = normalize (correctAnswer); //Get the first letter of an answer
                char ans = normalize (userAns); //Get the first letter of an answer
                return (key == ans);
        public boolean answerIsCorrect ()// Why do we need two answerisCorrect() methods?
            return answerIsCorrect (userAnswer);
        public int getPointsValue ()
            return pointsValue;
        public int getPointsEarned (boolean userNoBSRule)
            System.out.println ("useNoBS: " + userNoBSRule + "\tuseAnswer: " + userAnswer + "\tcorrectAnswer: " + correctAnswer);
            if (userNoBSRule && (userAnswer == null))
                return 1;
            else if (userAnswer == null)
                return 0;
            if (answerIsCorrect() == false)
                return 0;
            else
                return pointsValue;
        public String getCorrectAnswer ()
            return correctAnswer;
        public boolean hasBeenAnswered ()
            return (userAnswer != null);
        private char normalize (String input)
            if (input != null)
                input = input.trim();
                input = input.toLowerCase();
                return input.charAt(0);
            else
                return ' ';
           TrueFalseQuestion
    public class TrueFalseQuestion extends Question
      public TrueFalseQuestion (String text, String answer, int pts, String ctgry, int level)
          super(text, answer, pts, ctgry, level);
        public TrueFalseQuestion (String text, String answer, int pts)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
        public TrueFalseQuestion (String text, String answer, int pts, String ctgry)
            super(text, answer, pts, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public TrueFalseQuestion (String text, String answer, String ctgry)
            super(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public TrueFalseQuestion (String text, String answer, int pts, int level)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Methods
        public String[] getPossibleAnswerChoice ()
            String[] possibleAnswerChoice = {"true", "false"};
            return possibleAnswerChoice;
    } MultipleChoiceQuestion
    public class MultipleChoiceQuestion extends Question
       public MultipleChoiceQuestion (String text, String answer, int pts, String ctgry, int level)
           super(text, answer, pts, ctgry, level);
        public MultipleChoiceQuestion (String text, String answer, int pts)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
        public MultipleChoiceQuestion (String text, String answer, int pts, String ctgry)
            super(text, answer, pts, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public MultipleChoiceQuestion (String text, String answer, String ctgry)
            super(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public MultipleChoiceQuestion (String text, String answer, int pts, int level)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Methods
        String possibleAnswers;
        public String getPossibleAnswers ()
            return possibleAnswers;
        public void addAnswerChoice (String answerChoice)
            String ansChoice = answerChoice;
            questionText += "\nansChoice";
            possibleAnswers = answerChoice;
        public void printAnswerChoice ()
            System.out.println (questionText);
    } I don't understand why the assignment wants me to build a method in the MultpleChoiceQuestion class to store the potential answer choices, I can make the program display the potential answer choices by including them in the questionText as following in the QuizDriver class
    Question x;
    x = new MultipleChoiceQuestion("What is the color of the car\na.Red\nb.Green", "a. Red", 3);
    t.addQuestion(x); I don't know how to allow the client to construct the list of answer choices one at a time(add one potential answer choice by calling the addAsnwerChoices() method once)
    Here are a few original sentences of my assignment which describe what I should do with the MultipleChoiceQuestion class
    Using TrueFalseQuestion as a model, develop a new MultipleChoiceQuestion class that can be used to represent a problem where the user must select one of several answer choices (e.g., "Select answer (a), (b), (c), or (d)."). This new question type should have all of the same externally-visible functionality as TrueFalseQuestion, except that it must:
    maintain a list of potential answer choices
    provide a method that allows the client to construct the list of answer choices one at a time (i.e., the client should be able to call an addAnswerChoice() method to pass a new answer option to the MultipleChoiceQuestion.)
    display (as part of the question text) the list of answer choices with appropriate letters ("abcd" instead of "0123") I don't understand what these sentences mean.
    1. "Maintain a list of potential answer choices"-- this reminds me of the getPossibleAnswerChoice() method in the TrueFalseQuestion class
    public String[] getPossibleAnswerChoice ()
            String[] possibleAnswerChoice = {"true", "false"};
            return possibleAnswerChoice;
        }I wonder that if the potential answer choices I have to store in the MultipleChoiceQuestion class are only letters "a", "b", "c", "d", etc, or include the answer text coming after the letters(eg. a.Red, b.Green)
    2. "provide a method that allows the client to construct the list of answer choices one at a time". How do I achieve the functionality "one at a time"? Do I need to pass the input of the client (a potential answer choice) to the variable of the method which stores the list of potential answers?
    3. "display (as part of the question text) the list of answer choices with appropriate letters". My question here is that: When the client type in one possible answer, should I append it to the variable questionText? (So I use the questionText variable in the methods of the first and second steps)
    Thank you very much for your nice help!
    Edited by: Terry001 on Apr 21, 2008 8:01 AM

  • Where Would be the best category to ask a question about using dashboard?

    Where Would be the best category to ask a question about using dashboard?

    However, don't ask it in this topic. Create a new topic for the question with a title describing that you are looking for Dashboard help.

Maybe you are looking for